[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/lua-mode 8ffd075 208/468: lua-calculate-indentation-info:
From: |
Philip Kaludercic |
Subject: |
[nongnu] elpa/lua-mode 8ffd075 208/468: lua-calculate-indentation-info: non-functional refactoring |
Date: |
Thu, 5 Aug 2021 04:58:37 -0400 (EDT) |
branch: elpa/lua-mode
commit 8ffd07536004de37340ab39a862d148173204d7b
Author: immerrr <immerrr+lua@gmail.com>
Commit: immerrr <immerrr+lua@gmail.com>
lua-calculate-indentation-info: non-functional refactoring
- remove unused parameter parse-begin
- refactor out helper fn `lua-calculate-indentation-info-1'
---
lua-mode.el | 39 ++++++++++++++++++++++++---------------
1 file changed, 24 insertions(+), 15 deletions(-)
diff --git a/lua-mode.el b/lua-mode.el
index c48dd67..62dc98c 100644
--- a/lua-mode.el
+++ b/lua-mode.el
@@ -1266,7 +1266,24 @@ the block is opened."
; Just add the pair
(cons pair info))))
-(defun lua-calculate-indentation-info (&optional parse-start parse-end)
+(defun lua-calculate-indentation-info-1 (indentation-info bound)
+ "Helper function for `lua-calculate-indentation-info'.
+
+Return list of indentation modifiers from point to BOUND."
+ (while (lua-find-regexp 'forward lua-indentation-modifier-regexp
+ bound)
+ (let ((found-token (match-string 0))
+ (found-pos (match-beginning 0))
+ (found-end (match-end 0))
+ (data (match-data)))
+ (setq indentation-info
+ (lua-add-indentation-info-pair
+ (lua-make-indentation-info-pair found-token found-pos)
+ indentation-info))))
+ indentation-info)
+
+
+(defun lua-calculate-indentation-info (&optional parse-end)
"For each block token on the line, computes how it affects the indentation.
The effect of each token can be either a shift relative to the current
indentation level, or indentation to some absolute column. This information
@@ -1282,21 +1299,13 @@ and relative each, and the shift/column to indent to."
(min parse-end combined-line-end)
combined-line-end))
(indentation-info nil))
- (if parse-start (goto-char parse-start))
+
(save-excursion
(beginning-of-line)
- (while (lua-find-regexp 'forward lua-indentation-modifier-regexp
- search-stop)
- (let ((found-token (match-string 0))
- (found-pos (match-beginning 0))
- (found-end (match-end 0))
- (data (match-data)))
- (setq indentation-info
- (lua-add-indentation-info-pair
- (lua-make-indentation-info-pair found-token found-pos)
- indentation-info))))
- (or indentation-info
- (list (cons 'absolute start-indentation)))))))
+ (setq indentation-info (lua-calculate-indentation-info-1
+ indentation-info search-stop))
+ (or indentation-info
+ (list (cons 'absolute start-indentation)))))))
(defun lua-accumulate-indentation-info (info)
"Accumulates the indentation information previously calculated by
@@ -1327,7 +1336,7 @@ one."
(lua-forward-line-skip-blanks 'back))
(let ((case-fold-search nil)
(indentation-info (lua-accumulate-indentation-info
- (lua-calculate-indentation-info nil parse-end))))
+ (lua-calculate-indentation-info parse-end))))
(if (eq (car indentation-info) 'absolute)
(- (cdr indentation-info) (current-indentation))
(cdr indentation-info))))
- [nongnu] elpa/lua-mode 8d28342 187/468: Revisit block-close unindentation logic (issue #26), (continued)
- [nongnu] elpa/lua-mode 8d28342 187/468: Revisit block-close unindentation logic (issue #26), Philip Kaludercic, 2021/08/05
- [nongnu] elpa/lua-mode b1ac542 191/468: Major refactoring of font-lock-keywords:, Philip Kaludercic, 2021/08/05
- [nongnu] elpa/lua-mode 57c696c 192/468: Add var name highlighting in "for x, y in ..." construct, Philip Kaludercic, 2021/08/05
- [nongnu] elpa/lua-mode 97ce427 198/468: Restore compatibility with Emacs23 broken by commit 8d28342, Philip Kaludercic, 2021/08/05
- [nongnu] elpa/lua-mode ff3f5e1 199/468: lua-font-lock-keywords: don't eval-when-compile initial value, Philip Kaludercic, 2021/08/05
- [nongnu] elpa/lua-mode 2a0314b 200/468: Improve multiline highlighting via font-lock-syntactic-keywords, Philip Kaludercic, 2021/08/05
- [nongnu] elpa/lua-mode cd5c071 201/468: Clean up lua-mode start-up function a bit, Philip Kaludercic, 2021/08/05
- [nongnu] elpa/lua-mode b195cdc 205/468: Bump TODO, Philip Kaludercic, 2021/08/05
- [nongnu] elpa/lua-mode cee511c 206/468: for/local varname highlighting: match '=' at EOL properly, Philip Kaludercic, 2021/08/05
- [nongnu] elpa/lua-mode a1dc850 207/468: Post-refactoring fix: evaluate string variables in font-lock-defaults value, Philip Kaludercic, 2021/08/05
- [nongnu] elpa/lua-mode 8ffd075 208/468: lua-calculate-indentation-info: non-functional refactoring,
Philip Kaludercic <=
- [nongnu] elpa/lua-mode 4484128 215/468: lua-calculate-indentation-override: unindent to the last block-close token, Philip Kaludercic, 2021/08/05
- [nongnu] elpa/lua-mode 79e6815 216/468: Rewrite lua-beginning-of-proc, Philip Kaludercic, 2021/08/05
- [nongnu] elpa/lua-mode f2e7138 220/468: Move font-lock test helpers into a separate file, Philip Kaludercic, 2021/08/05
- [nongnu] elpa/lua-mode 94aadfd 221/468: Font-lock "nil", "true" and "false" as constants rather than keywords, Philip Kaludercic, 2021/08/05
- [nongnu] elpa/lua-mode 617c392 224/468: make test: test both compiled and uncompiled variants, Philip Kaludercic, 2021/08/05
- [nongnu] elpa/lua-mode 7157658 225/468: Create cask project; pull in ert.el to enable testing emacs23, Philip Kaludercic, 2021/08/05
- [nongnu] elpa/lua-mode ed76a6e 227/468: .gitignore: ignore all *.elc, Philip Kaludercic, 2021/08/05
- [nongnu] elpa/lua-mode 67a9022 229/468: test-electric-mode: check interaction with electric-pair-skip-self flag, Philip Kaludercic, 2021/08/05
- [nongnu] elpa/lua-mode b10d6ae 232/468: Add missing modulo operator (%) to line-continuation tokens, Philip Kaludercic, 2021/08/05
- [nongnu] elpa/lua-mode 2d308e8 237/468: Move "no-query-on-exit" initialization to lua-start-process, update it, Philip Kaludercic, 2021/08/05