emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/phps-mode f0ab7a2cdb 095/212: Passed tests for inline c


From: Christian Johansson
Subject: [elpa] externals/phps-mode f0ab7a2cdb 095/212: Passed tests for inline control structures
Date: Wed, 26 Jan 2022 01:51:01 -0500 (EST)

branch: externals/phps-mode
commit f0ab7a2cdb05afd5d3ac333831825619f64122fd
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>

    Passed tests for inline control structures
---
 phps-mode-indent.el           | 35 ++++++++++++++++++++++++++---------
 test/phps-mode-test-indent.el |  4 ++++
 2 files changed, 30 insertions(+), 9 deletions(-)

diff --git a/phps-mode-indent.el b/phps-mode-indent.el
index 03c2f8b78d..dcc143123e 100644
--- a/phps-mode-indent.el
+++ b/phps-mode-indent.el
@@ -258,9 +258,17 @@
 
               ;; else
               ;;     echo 'Something';
-              (when (phps-mode-indent--string-starts-with-regexp
-                     previous-line-string
-                     "else[\t ]*$")
+              ;; or
+              ;; else if (true)
+              ;;     echo 'Something';
+              (when (and
+                     (phps-mode-indent--string-starts-with-regexp
+                      previous-line-string
+                      "[\t ]*else")
+                     (not
+                      (phps-mode-indent--string-ends-with-regexp
+                       previous-line-string
+                       "{[\t ]*")))
                 (setq new-indentation (+ new-indentation tab-width)))
 
               (when (and
@@ -283,12 +291,21 @@
                 ;; if (true)
                 ;;     echo 'Something';
                 ;; echo 'Something else';
-                ;; TODO
-                (when (or
-                       (phps-mode-indent--string-starts-with-regexp
-                        previous2-line-string "[\t ]*else")
-                       (phps-mode-indent--string-starts-with-regexp
-                        previous2-line-string "[\t ]*if[\t ]*("))
+                ;; or
+                ;; when (true)
+                ;;     echo 'Something';
+                ;; echo 'Afterwards';
+                (when (and
+                       (not
+                        (phps-mode-indent--string-ends-with-regexp
+                         previous2-line-string "{[\t ]*"))
+                       (or
+                        (phps-mode-indent--string-starts-with-regexp
+                         previous2-line-string "[\t ]*else")
+                        (phps-mode-indent--string-starts-with-regexp
+                         previous2-line-string "[\t ]*if[\t ]*(")
+                        (phps-mode-indent--string-starts-with-regexp
+                         previous2-line-string "[\t ]*while[\t ]*(")))
                   (setq new-indentation (- new-indentation tab-width)))
 
                 )
diff --git a/test/phps-mode-test-indent.el b/test/phps-mode-test-indent.el
index bd210be7b3..588ba63ceb 100644
--- a/test/phps-mode-test-indent.el
+++ b/test/phps-mode-test-indent.el
@@ -368,6 +368,10 @@
    "<?php\nwhile (true)\n    echo 'Something';"
    "Inline control structures while")
 
+  (phps-mode-test-indent--should-equal
+   "<?php\nwhile (true)\n    echo 'Something';\necho 'Afterwards';"
+   "Inline control structures while")
+
   )
 
 (defun phps-mode-test-indent--get-lines-indent-alternative-control-structures 
()



reply via email to

[Prev in Thread] Current Thread [Next in Thread]