[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/phps-mode 81c7179 293/405: Fixed indentation bug with a
From: |
Stefan Monnier |
Subject: |
[elpa] externals/phps-mode 81c7179 293/405: Fixed indentation bug with assignment of square array in function argument |
Date: |
Sat, 13 Jul 2019 10:00:35 -0400 (EDT) |
branch: externals/phps-mode
commit 81c7179ae858710d080ad353a4a95ac45b30f5da
Author: Christian Johansson <address@hidden>
Commit: Christian Johansson <address@hidden>
Fixed indentation bug with assignment of square array in function argument
---
phps-mode-functions.el | 11 +++++++++--
phps-mode-test-functions.el | 6 +++---
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/phps-mode-functions.el b/phps-mode-functions.el
index d242174..89a5501 100644
--- a/phps-mode-functions.el
+++ b/phps-mode-functions.el
@@ -109,6 +109,8 @@
(allow-custom-column-increment nil)
(allow-custom-column-decrement nil)
(in-assignment nil)
+ (in-assignment-round-bracket-level nil)
+ (in-assignment-square-bracket-level nil)
(in-assignment-level 0)
(in-class-declaration nil)
(in-class-declaration-level 0)
@@ -442,7 +444,10 @@
;; Keep track of assignments
(if in-assignment
(if (or (string= token ";")
- (< round-bracket-level in-assignment))
+ (and (string= token ")")
+ (<= round-bracket-level
in-assignment-round-bracket-level))
+ (and (string= token"]")
+ (<= square-bracket-level
in-assignment-square-bracket-level)))
(progn
(setq in-assignment nil)
(setq in-assignment-level 0))
@@ -453,7 +458,9 @@
(when (and (not after-special-control-structure)
(string= token "="))
;; (message "Started assignment")
- (setq in-assignment round-bracket-level)
+ (setq in-assignment t)
+ (setq in-assignment-round-bracket-level
round-bracket-level)
+ (setq in-assignment-square-bracket-level
square-bracket-level)
(setq in-assignment-level 1)))
;; Did we encounter a token that supports extra special
alternative control structures?
diff --git a/phps-mode-test-functions.el b/phps-mode-test-functions.el
index 0d9ada1..792ab9f 100644
--- a/phps-mode-test-functions.el
+++ b/phps-mode-test-functions.el
@@ -222,10 +222,10 @@
;; (message "Indent: %s" (phps-mode-test-hash-to-list
(phps-mode-functions-get-lines-indent)))
(should (equal '((1 (0 0)) (2 (0 0)) (3 (0 0)) (4 (0 0)) (5 (0 0)) (6 (1
0)) (7 (1 0)) (8 (2 0)) (9 (1 0)) (10 (0 0))) (phps-mode-test-hash-to-list
(phps-mode-functions-get-lines-indent)))))
- ;; TODO Fix this
+ ;; TODO Fix this below
(phps-mode-test-with-buffer
- "<?php\nnamespace Vendor\Package;\n\nclass ClassName\n{\n public
function aVeryLongMethodName(\n ClassTypeHint $arg1,\n &$arg2,\n
array $arg3 = []\n ) {\n // method body\n }\n}"
+ "<?php\nnamespace Vendor\\Package;\n\nclass ClassName\n{\n public
function aVeryLongMethodName(\n ClassTypeHint $arg1,\n &$arg2,\n
array $arg3 = []\n ) {\n // method body\n }\n}"
"PSR-2 : 4.4. Method Arguments : Example 2"
(message "Indent: %s" (phps-mode-test-hash-to-list
(phps-mode-functions-get-lines-indent)))
(should (equal '((1 (0 0)) (2 (0 0)) (3 (0 0)) (4 (0 0)) (5 (0 0)) (6 (1
0)) (7 (2 0)) (8 (2 0)) (9 (2 0)) (10 (1 0)) (11 (2 0)) (12 (1 0)) (13 (0 0)))
(phps-mode-test-hash-to-list (phps-mode-functions-get-lines-indent)))))
@@ -769,7 +769,7 @@
(defun phps-mode-test-functions ()
"Run test for functions."
;; (setq debug-on-error t)
- ;; (setq phps-mode-functions-verbose t)
+ (setq phps-mode-functions-verbose t)
(phps-mode-test-functions-get-lines-lindent-if)
(phps-mode-test-functions-get-lines-indent-classes)
(phps-mode-test-functions-get-lines-indent-inline-if)
- [elpa] externals/phps-mode bd08a00 277/405: Added unit test for COALESCING EQUAL token, (continued)
- [elpa] externals/phps-mode bd08a00 277/405: Added unit test for COALESCING EQUAL token, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode a49ce7d 272/405: Added TODO item for lexer to better match re2c, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 552eada 264/405: Tuning of incremental logic, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 6cb1d5a 261/405: Added T_INLINE_HTML lexer token, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode d6caab9 269/405: Added support for coalesce_equal token and made lexer structure more similar to re2c, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode d51a2c4 276/405: Lexer grammar used same logic as PHP language scanner, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 1e3537c 268/405: Re-factored lexer to be more similar to re2c, Stefan Monnier, 2019/07/13
- [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 <=
- [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, 2019/07/13
- [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