diff --git a/init.d/text/common.el b/init.d/text/common.el index 2f29ec6..7c5a1fd 100644 --- a/init.d/text/common.el +++ b/init.d/text/common.el @@ -283,8 +283,16 @@ :bind ("C-c w" . whitespace-mode) :hook ((prog-mode . my/ws-load-local-vars-first) (conf-mode . my/ws-load-local-vars-first) - (text-mode . my/ws-load-local-vars-first) - (before-save . my/ws-maybe-cleanup))) + (text-mode . my/ws-load-local-vars-first))) + +;; Calls whitespace-cleanup before saving the current buffer, but only if the +;; whitespace in the buffer was initially clean. +(use-package whitespace-cleanup-mode + :after (whitespace) + :config (global-whitespace-cleanup-mode) + :hook (change-major-mode-hook + . (lambda () (when (not my/reformat-save) + (setq-local whitespace-cleanup-mode nil))))) ;; ripgrep. (use-package rg