[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/phps-mode 9069d0a 300/405: Concatenation indentation no
From: |
Stefan Monnier |
Subject: |
[elpa] externals/phps-mode 9069d0a 300/405: Concatenation indentation now uses stack |
Date: |
Sat, 13 Jul 2019 10:00:36 -0400 (EDT) |
branch: externals/phps-mode
commit 9069d0a0580680168006e9da543a49556c932012
Author: Christian Johansson <address@hidden>
Commit: Christian Johansson <address@hidden>
Concatenation indentation now uses stack
---
phps-mode-functions.el | 29 +++++++++++++++++------------
1 file changed, 17 insertions(+), 12 deletions(-)
diff --git a/phps-mode-functions.el b/phps-mode-functions.el
index 3285027..54fd7e7 100644
--- a/phps-mode-functions.el
+++ b/phps-mode-functions.el
@@ -404,22 +404,25 @@
(if in-concatenation
(when (or (string= token ";")
(and (string= token ")")
- (< round-bracket-level
in-concatenation-round-bracket-level))
+ (< round-bracket-level (car
in-concatenation-round-bracket-level)))
(and (string= token"]")
- (< square-bracket-level
in-concatenation-square-bracket-level)))
+ (< square-bracket-level (car
in-concatenation-square-bracket-level))))
(when phps-mode-functions-verbose
(message "Ended concatenation"))
- (setq in-concatenation nil)
- (setq in-concatenation-level 0))
+ (pop in-concatenation-round-bracket-level)
+ (pop in-concatenation-square-bracket-level)
+ (unless in-concatenation-round-bracket-level
+ (setq in-concatenation nil))
+ (setq in-concatenation-level (1-
in-concatenation-level)))
(when (and (> next-token-start-line-number
token-end-line-number)
(or (string= token ".")
(string= next-token ".")))
(when phps-mode-functions-verbose
(message "Started concatenation"))
(setq in-concatenation t)
- (setq in-concatenation-round-bracket-level
round-bracket-level)
- (setq in-concatenation-square-bracket-level
square-bracket-level)
- (setq in-concatenation-level 1)))
+ (push round-bracket-level
in-concatenation-round-bracket-level)
+ (push square-bracket-level
in-concatenation-square-bracket-level)
+ (setq in-concatenation-level (1+ in-concatenation-level))))
;; Did we reach a semicolon inside a inline block? Close the
inline block
(when (and in-inline-control-structure
@@ -463,22 +466,24 @@
(and (string= token ",")
(= round-bracket-level (car
in-assignment-round-bracket-level)))
(and (string= token"]")
- (<= square-bracket-level
in-assignment-square-bracket-level)))
+ (<= square-bracket-level (car
in-assignment-square-bracket-level))))
(when phps-mode-functions-verbose
(message "Ended assignment"))
(when first-token-on-line
)
+ (pop in-assignment-square-bracket-level)
(pop in-assignment-round-bracket-level)
- (setq in-assignment nil)
- (setq in-assignment-level 0))
+ (unless in-assignment-round-bracket-level
+ (setq in-assignment nil))
+ (setq in-assignment-level (1- in-assignment-level)))
(when (and (not after-special-control-structure)
(string= token "="))
(when phps-mode-functions-verbose
(message "Started assignment"))
(setq in-assignment t)
(push round-bracket-level
in-assignment-round-bracket-level)
- (setq in-assignment-square-bracket-level
square-bracket-level)
- (setq in-assignment-level 1)))
+ (push square-bracket-level
in-assignment-square-bracket-level)
+ (setq in-assignment-level (1+ in-assignment-level))))
;; TODO Fix issue with indentation for assignments with
chained object operators
- [elpa] externals/phps-mode 9748853 267/405: Merged all lexer analysis into one to better match re2c lexer, (continued)
- [elpa] externals/phps-mode 9748853 267/405: Merged all lexer analysis into one to better match re2c lexer, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode bfeaa74 273/405: Started with changing lexer syntax to be more alike re2c, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 73b8b4d 297/405: More work on concatenation and assignment indent, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 81c7179 293/405: Fixed indentation bug with assignment of square array in function argument, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 419a812 298/405: More work on debugging indentation with assignment, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode ed36115 288/405: Added TODO item for indentation, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 52cfc78 281/405: Added failing indent test, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 46147f4 287/405: Fixed bug with undefined token-end-line-number in new buffers, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 66edaca 286/405: Improved lexing of comment version doc comment, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 55f61b0 296/405: New algorithm for concatenation indentation passes tests, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 9069d0a 300/405: Concatenation indentation now uses stack,
Stefan Monnier <=
- [elpa] externals/phps-mode e639ea3 299/405: Indent passing new concatenation tests, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 5be3560 291/405: Adding more indent examples from PSR-2, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 74ab2a7 294/405: Work on incremental lexer and failing test for indent, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode b31f817 292/405: Added all examples from PSR-2 as tests for indentation, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 2087abd 282/405: Added two failing tests for switch indentation, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 43c13b4 295/405: Started on new algorithm for concatenation indentation, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode b2ff76e 283/405: Started on debugging switch indentation bug, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 1aadb1b 285/405: Added failing lexer test for comment vs doc-comment, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 95de04b 274/405: New layout for lexer grammar passes unit tests, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 00d3568 290/405: Added indentation examples from official PSR-2, Stefan Monnier, 2019/07/13