[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/zig-mode f617d803cb 1/3: Switch formatting to reformatter.
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/zig-mode f617d803cb 1/3: Switch formatting to reformatter.el |
Date: |
Sun, 1 Jan 2023 03:59:47 -0500 (EST) |
branch: elpa/zig-mode
commit f617d803cb10c7f48eec585f64ffe4266c21a015
Author: joachimschmidt557 <joachim.schmidt557@outlook.com>
Commit: joachimschmidt557 <joachim.schmidt557@outlook.com>
Switch formatting to reformatter.el
---
zig-mode.el | 62 ++++++++++++++-----------------------------------------------
1 file changed, 14 insertions(+), 48 deletions(-)
diff --git a/zig-mode.el b/zig-mode.el
index 782c80d0e8..32dc4c517b 100644
--- a/zig-mode.el
+++ b/zig-mode.el
@@ -3,7 +3,7 @@
;; Version: 0.0.8
;; Author: Andrea Orru <andreaorru1991@gmail.com>, Andrew Kelley
<superjoe30@gmail.com>
;; Keywords: zig, languages
-;; Package-Requires: ((emacs "24.3"))
+;; Package-Requires: ((emacs "24.3") (reformatter "0.6"))
;; Homepage: https://github.com/zig-lang/zig-mode
;; This file is free software; you can redistribute it and/or modify
@@ -27,6 +27,8 @@
;;; Code:
+(require 'reformatter)
+
(defgroup zig-mode nil
"Support for Zig code."
:link '(url-link "https://ziglang.org/")
@@ -52,7 +54,7 @@
(defcustom zig-zig-bin "zig"
"Path to zig executable."
- :type 'string
+ :type 'file
:safe #'stringp
:group 'zig-mode)
@@ -79,14 +81,6 @@ If given a SOURCE, execute the CMD on it."
args)))
(compilation-start (concat zig-zig-bin " " cmd " " cmd-args))))
-;;;###autoload
-(defun zig-toggle-format-on-save ()
- "Switch format before save on current buffer."
- (interactive)
- (if zig-format-on-save
- (setq-local zig-format-on-save nil)
- (setq-local zig-format-on-save t)))
-
;;;###autoload
(defun zig-compile ()
"Compile using `zig build`."
@@ -123,42 +117,17 @@ If given a SOURCE, execute the CMD on it."
(interactive)
(zig--run-cmd "run" (buffer-file-name) "-O" zig-run-optimization-mode))
-(defvar zig-return-to-buffer-after-format nil
- "Enable zig-format-buffer to return to file buffer after fmt is done.")
+;; zig fmt
-(defvar zig-ansi-color-for-format-errors nil
- "Enable ansi-coloration of error output from zig fmt.")
+(reformatter-define zig-format
+ :program zig-zig-bin
+ :args '("fmt" "--stdin")
+ :group 'zig-mode
+ :lighter " ZigFmt")
-;;;###autoload
-(defun zig-format-buffer ()
- "Format the current buffer using the zig fmt."
- (interactive)
- (let ((fmt-buffer-name "*zig-fmt*")
- (file-buffer (current-buffer)))
- ;; If we have an old *zig-fmt* buffer, we want to kill
- ;; it and start a new one to show the new errors
- (when (get-buffer fmt-buffer-name)
- (switch-to-buffer-other-window fmt-buffer-name)
- (quit-window)
- (kill-buffer fmt-buffer-name))
- (let ((fmt-buffer (get-buffer-create fmt-buffer-name)))
- (set-process-sentinel
- (start-process "zig-fmt"
- fmt-buffer
- zig-zig-bin
- "fmt"
- (buffer-file-name))
- (lambda (process _e)
- (if (> (process-exit-status process) 0)
- (when zig-format-show-buffer
- (progn
- (pop-to-buffer fmt-buffer)
- (when zig-ansi-color-for-format-errors
- (ansi-color-apply-on-region (point-min) (point-max)))
- (compilation-mode)
- (when zig-return-to-buffer-after-format
- (pop-to-buffer file-buffer))))
- (revert-buffer :ignore-auto :noconfirm)))))))
+;;;###autoload (autoload 'zig-format-buffer "current-file" nil t)
+;;;###autoload (autoload 'zig-format-region "current-file" nil t)
+;;;###autoload (autoload 'zig-format-on-save-mode "current-file" nil t)
(defun zig-re-word (inner)
"Construct a regular expression for the word INNER."
@@ -545,11 +514,8 @@ This is written mainly to be used as
`end-of-defun-function' for Zig."
nil nil nil nil
(font-lock-syntactic-face-function .
zig-mode-syntactic-face-function)))
- (add-hook 'before-save-hook 'zig-before-save-hook nil t))
-
-(defun zig-before-save-hook ()
(when zig-format-on-save
- (zig-format-buffer)))
+ (zig-format-on-save-mode 1)))
;;;###autoload
(add-to-list 'auto-mode-alist '("\\.zig\\'" . zig-mode))