[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/aggressive-indent 1d7185d 17/43: Fix #106 - Define vari
From: |
Stefan Monnier |
Subject: |
[elpa] externals/aggressive-indent 1d7185d 17/43: Fix #106 - Define variable: aggressive-indent-region-function |
Date: |
Wed, 7 Jul 2021 22:49:41 -0400 (EDT) |
branch: externals/aggressive-indent
commit 1d7185d27020c3e91a7da21800716079297938ac
Author: Artur Malabarba <bruce.connor.am@gmail.com>
Commit: Artur Malabarba <bruce.connor.am@gmail.com>
Fix #106 - Define variable: aggressive-indent-region-function
---
aggressive-indent.el | 28 +++++++++++++++++-----------
1 file changed, 17 insertions(+), 11 deletions(-)
diff --git a/aggressive-indent.el b/aggressive-indent.el
index a3b2b82..8718373 100644
--- a/aggressive-indent.el
+++ b/aggressive-indent.el
@@ -280,6 +280,12 @@ erroring again."
(message aggressive-indent--error-message er))))))
;;; Indenting defun
+(defcustom aggressive-indent-region-function #'indent-region
+ "Function called to indent a region.
+It is called with two arguments, the region beginning and end."
+ :risky t
+ :type 'function)
+
;;;###autoload
(defun aggressive-indent-indent-defun (&optional l r)
"Indent current defun.
@@ -288,13 +294,13 @@ If L and R are provided, use them for finding the start
and end of defun."
(interactive)
(let ((p (point-marker)))
(set-marker-insertion-type p t)
- (indent-region
- (save-excursion
- (when l (goto-char l))
- (beginning-of-defun 1) (point))
- (save-excursion
- (when r (goto-char r))
- (end-of-defun 1) (point)))
+ (funcall aggressive-indent-region-function
+ (save-excursion
+ (when l (goto-char l))
+ (beginning-of-defun 1) (point))
+ (save-excursion
+ (when r (goto-char r))
+ (end-of-defun 1) (point)))
(goto-char p)))
(defun aggressive-indent--softly-indent-defun (&optional l r)
@@ -327,7 +333,7 @@ Return non-nil only if the line's indentation actually
changed."
(forward-sexp 1)
(comment-forward (point-max)))
(when (looking-at "^")
- (indent-region line-end (1- (point))))
+ (funcall aggressive-indent-region-function line-end (1- (point))))
(skip-chars-forward "[:blank:]")))))
(defun aggressive-indent--extend-end-to-whole-sexps (beg end)
@@ -342,8 +348,8 @@ Return non-nil only if the line's indentation actually
changed."
;;;###autoload
(defun aggressive-indent-indent-region-and-on (l r)
"Indent region between L and R, and then some.
-Call `indent-region' between L and R, and then keep indenting
-until nothing more happens."
+Call `aggressive-indent-region-function' between L and R, and
+then keep indenting until nothing more happens."
(interactive "r")
(let ((p (point-marker))
was-begining-of-line)
@@ -359,7 +365,7 @@ until nothing more happens."
(cl-incf l)))
;; Indent the affected region.
(goto-char r)
- (unless (= l r) (indent-region l r))
+ (unless (= l r) (funcall aggressive-indent-region-function l r))
;; And then we indent each following line until nothing happens.
(forward-line 1)
(skip-chars-forward "[:blank:]\n\r\xc")
- [elpa] externals/aggressive-indent 5959b48 09/43: Experiment with testing `indent-line-function` instead of excluded-modes, (continued)
- [elpa] externals/aggressive-indent 5959b48 09/43: Experiment with testing `indent-line-function` instead of excluded-modes, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent 4b01402 07/43: Fix typo in README, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent 450fe20 18/43: Check no-indent conditions at lower level, so they work on save, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent 8e70039 19/43: Merge pull request #115 from joaotavora/master, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent 9dfde9c 14/43: Don't enable in modes that derive from text-mode, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent 83bdea4 31/43: Allow other after-change-functions to run, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent 81b6f68 34/43: Capture current buffer for idle timer indentation function., Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent d4616c8 22/43: Try a different method of keeping timers from getting out of hand, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent d6778ae 16/43: Add python to excluded modes, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent 1f09fe2 28/43: Add sql-interactive-mode, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent 1d7185d 17/43: Fix #106 - Define variable: aggressive-indent-region-function,
Stefan Monnier <=
- [elpa] externals/aggressive-indent cc8da01 20/43: Make the idle timer not be buffer local, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent 4994a50 21/43: Revert "Make the idle timer not be buffer local", Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent 6549951 23/43: Backport while-no-input from Emacs 27.0 to fix #111, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent c39dbff 24/43: Merge pull request #118 from oscarfv/master, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent 3803f24 30/43: Merge pull request #125 from CeleritasCelery/revert, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent c28246b 32/43: Merge pull request #129 from yyoncho/master, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent 113389c 42/43: Merge remote-tracking branch 'elpa/externals/aggressive-indent', Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent f920dd5 27/43: Merge pull request #123 from leungbk/patch, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent f611f31 33/43: Cancel the timer when buffer is killed, Stefan Monnier, 2021/07/07
- [elpa] externals/aggressive-indent 58348d2 36/43: Merge pull request #135 from leuven65/master, Stefan Monnier, 2021/07/07