From 585c4252587186f84fd0de1df9c079cb9eaf8431 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 22 Mar 2017 00:33:39 -0400 Subject: [PATCH] delete-trailing-whitespace: don't affect current line --- core/core-editor.el | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/core/core-editor.el b/core/core-editor.el index 97b04e97c..7c0c1b5de 100644 --- a/core/core-editor.el +++ b/core/core-editor.el @@ -76,6 +76,18 @@ ;; enabled by default in Emacs 25+. No thanks. (electric-indent-mode -1) +(defun doom*delete-trailing-whitespace (orig-fn &rest args) + "Don't affect trailing whitespace on current line." + (let ((spaces (1- (current-column))) + (linestr (buffer-substring-no-properties + (line-beginning-position) + (line-end-position)))) + (apply orig-fn args) + (when (and (if (featurep 'evil) (evil-insert-state-p) t) + (string-match-p "^[\s\t]*$" linestr)) + (insert linestr)))) +(advice-add 'delete-trailing-whitespace :around 'doom*delete-trailing-whitespace) + ;; ;; Core Plugins