[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/phps-mode fe80a3a 369/405: Passes test for moving line-
From: |
Stefan Monnier |
Subject: |
[elpa] externals/phps-mode fe80a3a 369/405: Passes test for moving line-indents down |
Date: |
Sat, 13 Jul 2019 10:00:52 -0400 (EDT) |
branch: externals/phps-mode
commit fe80a3ad610592dbe34d8a3ffed588b009b017ae
Author: Christian Johansson <address@hidden>
Commit: Christian Johansson <address@hidden>
Passes test for moving line-indents down
---
phps-mode-functions.el | 23 +++++++++++++----------
phps-mode-test-functions.el | 8 +++++++-
2 files changed, 20 insertions(+), 11 deletions(-)
diff --git a/phps-mode-functions.el b/phps-mode-functions.el
index 4de504b..124eca2 100644
--- a/phps-mode-functions.el
+++ b/phps-mode-functions.el
@@ -73,16 +73,19 @@
"Move OLD-LINES-INDENTS from START-LINE-NUMBER with DIFF points."
(let ((lines-indents (make-hash-table :test 'equal))
(line-number 1))
- (let ((line-indent (gethash line-number old-lines-indents)))
- (while line-indent
- (if (< line-number start-line-number)
- (puthash line-number line-indent lines-indents)
- (setq new-line-number (1+ line-number))
- (puthash new-line-number line-indent lines-indents)
- (message "Added new indent %s from %s to %s" line-indent line-number
new-line-number))
- (setq line-number (1+ line-number))
- (setq line-indent (gethash line-number old-lines-indents))))
- lines-indents))
+ (when old-lines-indents
+ (let ((line-indent (gethash line-number old-lines-indents))
+ (new-line-number))
+ (while line-indent
+ (when (<= line-number start-line-number)
+ (puthash line-number line-indent lines-indents))
+ (when (>= line-number start-line-number)
+ (setq new-line-number (+ line-number diff))
+ (message "Added new indent %s from %s to %s" line-indent
line-number new-line-number)
+ (puthash new-line-number line-indent lines-indents))
+ (setq line-number (1+ line-number))
+ (setq line-indent (gethash line-number old-lines-indents))))
+ lines-indents)))
(defun phps-mode-functions-move-lines-indent (start-line-number diff)
"Move lines indent from START-LINE-NUMBER with DIFF points."
diff --git a/phps-mode-test-functions.el b/phps-mode-test-functions.el
index 7579027..ec9c7a6 100644
--- a/phps-mode-test-functions.el
+++ b/phps-mode-test-functions.el
@@ -44,10 +44,16 @@
(phps-mode-test-with-buffer
"<?php\n/**\n * Bla\n */"
- "DOC-COMMENT"
+ "Move line-indents one line down"
(should (equal '((1 (0 0)) (2 (0 0)) (3 (0 1)) (4 (0 1)))
(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 1)) (5 (0 1)))
(phps-mode-test-hash-to-list (phps-mode-functions-get-moved-lines-indent
(phps-mode-functions-get-lines-indent) 2 1)))))
+ (phps-mode-test-with-buffer
+ "<?php\n/**\n * Bla\n */"
+ "Move line-indents one line up"
+ (should (equal '((1 (0 0)) (2 (0 0)) (3 (0 1)) (4 (0 1)))
(phps-mode-test-hash-to-list (phps-mode-functions-get-lines-indent))))
+ (should (equal '((1 (0 0)) (2 (0 0)) (3 (0 1)))
(phps-mode-test-hash-to-list (phps-mode-functions-get-moved-lines-indent
(phps-mode-functions-get-lines-indent) 3 -1)))))
+
)
(defun phps-mode-test-functions-get-lines-indent ()
- [elpa] externals/phps-mode 46d0575 373/405: Passes all tests for adding newline and indenting without affect lexer, (continued)
- [elpa] externals/phps-mode 46d0575 373/405: Passes all tests for adding newline and indenting without affect lexer, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 71858d1 374/405: Removed side-effect of END_PARSE token being added to tokens after processing buffer, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 228b657 380/405: Updated README with license logo and Travis CI build status, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 6308e3e 366/405: Removed debug notice, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode bd90dc9 370/405: Removed debug output, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 38bd348 361/405: More work on advice, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 2efd7d7 367/405: Started on function to move line-indent index, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 5bc592a 368/405: More work on moving indent indexes, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode bc1f50f 365/405: Fixed byte-compilation in functions unit-test, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 654ef5f 377/405: Added another state test for newline, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode fe80a3a 369/405: Passes test for moving line-indents down,
Stefan Monnier <=
- [elpa] externals/phps-mode 07ed24d 376/405: Added states test as well, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 92e53e8 363/405: Passes test for pressing newline before white-spaces just moves meta-data, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode f2ff34a 378/405: Added TODO items for making changes inside tokens and not triggered a full re-lexing, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode d416443 371/405: Added more test for moving line-indent index, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 22f75ba 362/405: Advice is running again in unit test, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 4592bce 385/405: Only running newline heuristic when rest of line is whitespace, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode a14d5b2 399/405: Mode map is now loaded, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode ff474c9 392/405: Work on invalid imenu, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode defa128 393/405: Passes unit test for imenu new structure, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode a48386a 386/405: Do not allow failures on emacs snapshot, Stefan Monnier, 2019/07/13