summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--init.el18
-rw-r--r--lisp/km-buffer-cleanup.el52
2 files changed, 10 insertions, 60 deletions
diff --git a/init.el b/init.el
index a6bda86..a328f71 100644
--- a/init.el
+++ b/init.el
@@ -467,11 +467,18 @@
(global-set-key [remap kill-ring-save] #'easy-kill))
(use-package whitespace
- :defer 5
- :diminish global-whitespace-mode
:config
+ (define-key km/editing-map "t" #'whitespace-mode)
+
(setq whitespace-style '(face trailing indentation))
- (global-whitespace-mode))
+
+ (defun km/cleanup-buffer ()
+ (interactive)
+ (unless (or whitespace-mode global-whitespace-mode)
+ (whitespace-cleanup)
+ (delete-trailing-whitespace)))
+
+ (add-hook 'before-save-hook #'km/cleanup-buffer))
(use-package km-editing
:defer t
@@ -592,11 +599,6 @@
ibuffer-restore-window-config-on-quit t
ibuffer-show-empty-filter-groups nil))
-(use-package km-buffer-cleanup
- :config
- (add-hook 'before-save-hook #'km/cleanup-buffer)
- (define-key km/editing-map "t" #'km/toggle-prevent-cleanup))
-
(use-package km-buffers
:defer t
:chords ("js" . km/save-buffers)
diff --git a/lisp/km-buffer-cleanup.el b/lisp/km-buffer-cleanup.el
deleted file mode 100644
index ac0b008..0000000
--- a/lisp/km-buffer-cleanup.el
+++ /dev/null
@@ -1,52 +0,0 @@
-;;; km-buffer-cleanup.el --- Clean up buffer on save
-
-;; Copyright (C) 2012-2016 Kyle Meyer <kyle@kyleam.com>
-
-;; Author: Kyle Meyer <kyle@kyleam.com>
-;; URL: https://github.com/kyleam/emacs.d
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Code:
-
-(require 'whitespace)
-
-(defvar-local km/prevent-cleanup nil
- "If set, `km/cleanup-buffer' does not perform clean up on save.")
-
-(defun km/toggle-prevent-cleanup ()
- "Toggle state of `km/prevent-cleanup'."
- (interactive)
- (if km/prevent-cleanup
- (progn
- (message "Allowing cleanup on save")
- (kill-local-variable 'whitespace-style)
- (global-whitespace-mode 0)
- (global-whitespace-mode 1))
- (message "Preventing cleanup on save")
- (setq-local whitespace-style
- '(face trailing indentation
- tab-mark space-mark newline-mark))
- (global-whitespace-mode 0)
- (global-whitespace-mode 1))
- (setq km/prevent-cleanup (not km/prevent-cleanup)))
-
-(defun km/cleanup-buffer ()
- (interactive)
- (unless km/prevent-cleanup
- (whitespace-cleanup)
- (delete-trailing-whitespace)))
-
-(provide 'km-buffer-cleanup)
-;;; km-buffer-cleanup.el ends here