From b7e27beccadd38ae81bd0b2861bcdb51b329caef Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Thu, 2 Feb 2017 23:14:57 -0500 Subject: Use whitespace-mode as indicator for cleanup --- init.el | 18 ++++++++-------- lisp/km-buffer-cleanup.el | 52 ----------------------------------------------- 2 files changed, 10 insertions(+), 60 deletions(-) delete mode 100644 lisp/km-buffer-cleanup.el 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 - -;; Author: Kyle Meyer -;; 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 . - -;;; 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 -- cgit v1.2.3