[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/phps-mode 2720be8 165/405: Indentation calculation for
From: |
Stefan Monnier |
Subject: |
[elpa] externals/phps-mode 2720be8 165/405: Indentation calculation for heredoc and nowdoc assignments passes |
Date: |
Sat, 13 Jul 2019 10:00:05 -0400 (EDT) |
branch: externals/phps-mode
commit 2720be8b96c54f51df9c82f725f99713aeb4a0ea
Author: Christian Johansson <address@hidden>
Commit: Christian Johansson <address@hidden>
Indentation calculation for heredoc and nowdoc assignments passes
---
phps-mode-functions.el | 9 +++++----
phps-mode-test-functions.el | 7 ++-----
2 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/phps-mode-functions.el b/phps-mode-functions.el
index cb1ea0e..fa1fa80 100644
--- a/phps-mode-functions.el
+++ b/phps-mode-functions.el
@@ -99,7 +99,8 @@
(setq nesting-end (+ round-bracket-level
square-bracket-level curly-bracket-level alternative-control-structure-level
inline-control-structure-level))
;; Inside assignment increment by one
- (when in-assignment
+ (when (and in-assignment
+ (not in-heredoc))
(setq nesting-end (1+ nesting-end)))
;; Is line ending indentation lesser than line beginning
indentation?
@@ -129,7 +130,7 @@
(puthash last-line-number `(,column-level ,tuning-level)
line-indents))
(when (> token-end-line-number token-start-line-number)
- (message "Token %s starts at %s and ends at %s" token
token-start-line-number token-end-line-number)
+ ;; (message "Token %s starts at %s and ends at %s" token
token-start-line-number token-end-line-number)
(when (equal token 'T_DOC_COMMENT)
(setq tuning-level 1))
@@ -299,8 +300,7 @@
(setq after-special-control-structure-token token))
;; Keep track of assignments
- (when (and in-assignment
- (not in-heredoc))
+ (when in-assignment
(if (string= token ";")
(progn
(setq in-assignment nil)
@@ -319,6 +319,7 @@
;; (message "Not in assignment on new-line at %s" token)
(setq in-assignment-on-new-line nil)))))
(when (and (not after-special-control-structure)
+ (not in-assignment)
(string= token "="))
;; (message "Started assignment")
(setq in-assignment t)
diff --git a/phps-mode-test-functions.el b/phps-mode-test-functions.el
index 04236f3..536f31b 100644
--- a/phps-mode-test-functions.el
+++ b/phps-mode-test-functions.el
@@ -92,13 +92,13 @@
(phps-mode-test-with-buffer
"<?php\n$str = <<<'EOD'\nExample of string\nspanning multiple lines\nusing
nowdoc syntax.\nEOD;\n"
"Multi-line NOWDOC string"
- (message "Tokens: %s" phps-mode-lexer-tokens)
+ ;; (message "Tokens: %s" phps-mode-lexer-tokens)
(should (equal '((1 (0 0)) (2 (0 0)) (3 (0 0)) (4 (0 0)) (5 (0 0)) (6 (0
0))) (phps-mode-test-functions--hash-to-list
(phps-mode-functions-get-lines-indent)))))
(phps-mode-test-with-buffer
"<?php\n$str = <<<EOD\nExample of string\nspanning multiple lines\nusing
heredoc syntax.\nEOD;\n"
"Multi-line HEREDOC string"
- (message "Tokens: %s" phps-mode-lexer-tokens)
+ ;; (message "Tokens: %s" phps-mode-lexer-tokens)
(should (equal '((1 (0 0)) (2 (0 0)) (3 (0 0)) (4 (0 0)) (5 (0 0)) (6 (0
0))) (phps-mode-test-functions--hash-to-list
(phps-mode-functions-get-lines-indent)))))
(phps-mode-test-with-buffer
@@ -119,9 +119,6 @@
(message "Tokens: %s" phps-mode-lexer-tokens)
(should (equal '((1 (0 0)) (2 (0 0)) (3 (0 0)) (4 (0 0)))
(phps-mode-test-functions--hash-to-list
(phps-mode-functions-get-lines-indent)))))
- ;; TODO Multi-line double-quoted strings
-
-
)
;; TODO Add unit tests for HEREDOC and NOWDOC regions as well
- [elpa] externals/phps-mode 96588b5 142/405: More work on new indentation calculation functions, (continued)
- [elpa] externals/phps-mode 96588b5 142/405: More work on new indentation calculation functions, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 9d6af11 157/405: More work on indentations, Stefan Monnier, 2019/07/13
- [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 <=
- [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, 2019/07/13
- [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