[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/ws-butler e5fc878904 54/64: disable changing leading white
From: |
Stefan Kangas |
Subject: |
[nongnu] elpa/ws-butler e5fc878904 54/64: disable changing leading whitespace by default |
Date: |
Fri, 31 Dec 2021 11:09:34 -0500 (EST) |
branch: elpa/ws-butler
commit e5fc878904b7b898bb7087ca3aa25ca0428893cf
Author: Ian Kelling <ian@iankelling.org>
Commit: Ian Kelling <ian@iankelling.org>
disable changing leading whitespace by default
---
ws-butler.el | 39 +++++++++++++++++++++++++++------------
1 file changed, 27 insertions(+), 12 deletions(-)
diff --git a/ws-butler.el b/ws-butler.el
index 1fb76c362c..b0a161c4d9 100644
--- a/ws-butler.el
+++ b/ws-butler.el
@@ -78,6 +78,19 @@ i.e. only the \"virtual\" space is preserved in the buffer."
:type 'boolean
:group 'ws-butler)
+(defcustom ws-butler-convert-leading-tabs-or-spaces
+ nil
+ "Make leading whitespace be tabs or spaces
+
+If `indent-tabs-mode' is non-nil, call `tabify', else call
+`untabify'. Do neither if `smart-tabs-mode' is enabled for this
+buffer. This is off by default because it's unwanted if you
+occasionally edit files where leading whitespace should not be
+changed in this specific way."
+
+ :type 'boolean
+ :group 'ws-butler)
+
(defcustom ws-butler-global-exempt-modes
'(markdown-mode)
"Don't enable ws-butler in modes that inherit from these.
@@ -167,18 +180,20 @@ replaced by spaces, and vice versa if t."
;; _much slower would be: (replace-regexp "[ \t]+$" "")
(goto-char (point-min))
(while (not (eobp))
- ;; convert leading tabs to spaces or v.v.
- (let ((eol (point-at-eol)))
- (if indent-tabs-mode
- (progn
- (skip-chars-forward "\t" eol)
- (when (eq (char-after) ?\ )
- (tabify (point) (progn (skip-chars-forward " \t" eol)
- (point)))))
- (skip-chars-forward " " eol)
- (when (eq (char-after) ?\t )
- (untabify (point) (progn (skip-chars-forward " \t" eol)
- (point))))))
+ (when (and ws-butler-convert-leading-tabs-or-spaces
+ (not (bound-and-true-p smart-tabs-mode)))
+ ;; convert leading tabs to spaces or v.v.
+ (let ((eol (point-at-eol)))
+ (if indent-tabs-mode
+ (progn
+ (skip-chars-forward "\t" eol)
+ (when (eq (char-after) ?\ )
+ (tabify (point) (progn (skip-chars-forward " \t" eol)
+ (point)))))
+ (skip-chars-forward " " eol)
+ (when (eq (char-after) ?\t )
+ (untabify (point) (progn (skip-chars-forward " \t" eol)
+ (point)))))))
(end-of-line)
(delete-horizontal-space)
(forward-line 1)))
- [nongnu] elpa/ws-butler 106d313c0d 30/64: Fix package problems; bump version to 0.3., (continued)
- [nongnu] elpa/ws-butler 106d313c0d 30/64: Fix package problems; bump version to 0.3., Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 34393f1aaa 07/64: add install instructions, Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 75deadecb9 35/64: Remove dependency on highlight-changes-mode., Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler ee0fc31020 52/64: Merge branch 'xificurC-master', Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 76265d11f8 44/64: Debian and Ubuntu installation instructions, Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 7553d6392a 36/64: Handle adding back text during undo correctly., Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler aa1935f150 37/64: update documentation re: highlight-changes-mode, Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 11311538f6 50/64: fix up tests, simplify predicate code a bit., Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler a998a23ee8 41/64: Clarify ws-butler-keep-whitespace-before-point docs., Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 9b40da8428 46/64: add exemptions to ws-butler-global-mode, Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler e5fc878904 54/64: disable changing leading whitespace by default,
Stefan Kangas <=
- [nongnu] elpa/ws-butler 52321b99be 59/64: Merge pull request #29 from alevy03/master, Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 323b651dd7 55/64: bump version, Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler a02607ef63 33/64: Some minor grammatical fixes, Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler f6ac856b82 13/64: clean up newlines at EOB when appropriate, Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 81143ac737 25/64: Add customization for virtual space preservation., Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 93409c1ca7 51/64: polyfill for setq-local, Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler a5add4ea85 39/64: Merge branch 'remove-highlight-changes-mode', Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 7e2f32dcfc 45/64: Merge pull request #22 from spwhitton/apt-get, Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 9e7449445b 48/64: Merge branch 'global-mode-exemptions', Stefan Kangas, 2021/12/31
- [nongnu] elpa/ws-butler 8ccf6a0b74 61/64: Merge pull request #31 from hlissner/patch-1, Stefan Kangas, 2021/12/31