[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/phps-mode 47ffc37 179/405: More work on refactored inde
From: |
Stefan Monnier |
Subject: |
[elpa] externals/phps-mode 47ffc37 179/405: More work on refactored indentation calculation |
Date: |
Sat, 13 Jul 2019 10:00:08 -0400 (EDT) |
branch: externals/phps-mode
commit 47ffc37078c92dee1cd642eb481e6717e5f691b2
Author: Christian Johansson <address@hidden>
Commit: Christian Johansson <address@hidden>
More work on refactored indentation calculation
---
phps-mode-functions.el | 24 +++++++++++++++++-------
1 file changed, 17 insertions(+), 7 deletions(-)
diff --git a/phps-mode-functions.el b/phps-mode-functions.el
index 37ffe01..70b156d 100644
--- a/phps-mode-functions.el
+++ b/phps-mode-functions.el
@@ -89,15 +89,26 @@ Refactor to this structure:
(token-start 0)
(token-end 0)
(token-start-line-number 0)
- (token-end-line-number))
+ (token-end-line-number)
+ (tokens (nreverse phps-mode-lexer-tokens)))
+
+ (push `(END_PARSE ,(point-max) . ,(point-max)) tokens)
;; Iterate through all buffer tokens from beginning to end
- (dolist (item phps-mode-lexer-tokens)
- (let* ((next-token (car item))
+ (dolist (item (nreverse tokens))
+ ;; (message "Items: %s %s" item phps-mode-lexer-tokens)
+ (let ((next-token (car item))
(next-token-start (car (cdr item)))
(next-token-end (cdr (cdr item)))
- (next-token-start-line-number (line-number-at-pos
next-token-start t))
- (next-token-end-line-number (line-number-at-pos
next-token-end t)))
+ (next-token-start-line-number nil)
+ (next-token-end-line-number nil))
+
+ (if (equal next-token 'END_PARSE)
+ (progn
+ (setq next-token-start-line-number (1+
token-start-line-number))
+ (setq next-token-end-line-number (1+
token-end-line-number)))
+ (setq next-token-start-line-number (line-number-at-pos
next-token-start t))
+ (setq next-token-end-line-number (line-number-at-pos
next-token-end t)))
;; Token logic
(when token
@@ -290,8 +301,7 @@ Refactor to this structure:
(when token
;; Line logic
- (if (or (> next-token-start-line-number
token-start-line-number)
- (= token-number last-token-number))
+ (if (> next-token-start-line-number token-start-line-number)
(progn
;; Flag when last token was on a new line
- [elpa] externals/phps-mode e249124 152/405: Prevent negative indent, (continued)
- [elpa] externals/phps-mode e249124 152/405: Prevent negative indent, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 4a27c44 147/405: Added support for naming unit tests to better find failures, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode b852f5f 160/405: All tests for indentation passes, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode dfb0427 151/405: Added unit test for round and square bracket expressions, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 7b8cea3 163/405: Added failing indentation test for class multiple implements, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode a61ff64 134/405: Renamed function get-point-data to get-current-line-data for better semantics, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode b99da6b 153/405: Starting using new indentation calculation for indentations, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 6559760 166/405: Work on assignments and class declaration indentations, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 2720be8 165/405: Indentation calculation for heredoc and nowdoc assignments passes, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 13c4c78 164/405: More work on heredoc, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 47ffc37 179/405: More work on refactored indentation calculation,
Stefan Monnier <=
- [elpa] externals/phps-mode a5ced61 158/405: New indentation function passes all original unit tests, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode e3eedd7 167/405: Assignment indentation passes tests, class declaration remains, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode e37c1cf 150/405: New indention calculation works with doc-comments, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode f789468 172/405: Took notes of new indentation tests, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 20e77aa 181/405: Removed debug output, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 321803a 182/405: Line indents are now cleaning on buffer changes, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 38bcabb 176/405: Improved detection of assignment ends in function optional arguments, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode f1236e2 169/405: Unit tests for indentation calculation for multi-line strings passes, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 105fece 149/405: New indent calculation for inline syntax passes test, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 0a32b17 161/405: Improved calculation for indentation for multi-line assignments, Stefan Monnier, 2019/07/13