Skip to content

Commit 665d676

Browse files
purcellkritzcreek
authored andcommitted
Handle rebuild-on-save more conventionally (#159)
Don't make a single global decision about whether to do this based on the value of psc-ide-rebuild-on-save at the time the library is loaded Instead, add after-save-hook handlers locally to each buffer in which psc-ide-mode is enabled, and then check psc-ide-rebuild-on-save each time. This way, psc-ide-rebuild-on-save can be set on a per-file or per-directory basis, and no check for the current major mode is necessary. See #151 and #152
1 parent 35c4e99 commit 665d676

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

psc-ide.el

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,11 @@
5454
(define-key map (kbd "M-.") 'psc-ide-goto-definition)
5555
(define-key map (kbd "M-,") 'pop-tag-mark)
5656
map)
57-
(when psc-ide-mode
58-
(setq-local company-tooltip-align-annotations t)))
57+
(if psc-ide-mode
58+
(progn
59+
(setq-local company-tooltip-align-annotations t)
60+
(add-hook 'after-save-hook 'psc-ide-rebuild-on-save-hook nil t))
61+
(remove-hook 'after-save-hook 'psc-ide-rebuild-on-save-hook t)))
5962

6063
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6164
;;
@@ -174,12 +177,9 @@ Defaults to \"output/\" and should only be changed with
174177

175178
(defun psc-ide-rebuild-on-save-hook()
176179
"Rebuilds the current module on save."
177-
(when (eq major-mode 'purescript-mode)
180+
(when psc-ide-rebuild-on-save
178181
(psc-ide-rebuild)))
179182

180-
(when psc-ide-rebuild-on-save
181-
(add-hook 'after-save-hook 'psc-ide-rebuild-on-save-hook))
182-
183183
(defun psc-ide-init ()
184184
"Initialization for psc-ide-mode."
185185
(interactive)

0 commit comments

Comments
 (0)