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

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

[elpa] externals/phps-mode faa4e00 201/405: Started on conceptually desc


From: Stefan Monnier
Subject: [elpa] externals/phps-mode faa4e00 201/405: Started on conceptually describing algorithm for multi-line assignment indentation
Date: Sat, 13 Jul 2019 10:00:13 -0400 (EDT)

branch: externals/phps-mode
commit faa4e003f9c21d490f4d822232b73e162e518379
Author: Christian Johansson <address@hidden>
Commit: Christian Johansson <address@hidden>

    Started on conceptually describing algorithm for multi-line assignment 
indentation
---
 docs/indentation-algorithm.md | 35 +++++++++++++++++++++++------------
 phps-mode-functions.el        |  3 ---
 2 files changed, 23 insertions(+), 15 deletions(-)

diff --git a/docs/indentation-algorithm.md b/docs/indentation-algorithm.md
index df58b26..fd8a877 100644
--- a/docs/indentation-algorithm.md
+++ b/docs/indentation-algorithm.md
@@ -50,7 +50,9 @@ endforeach;
 
 ## Examples
 
-```php
+PHP examples using algorithms defined above, explained each line.
+
+```php                         // #save indent: 0
 if (function(          // #save indent: 0, #increase push (0 2) indent: 1
     false)                     // #save indent: 1
 ) {                            // #decrease pop (0 2) indent: 0, #save indent: 
0, #increase push (0 1) indent: 1
@@ -60,7 +62,7 @@ if (function(         // #save indent: 0, #increase push (0 
2) indent: 1
 
 ## Inline control structure for if-else
 
-```php
+```php                         // #save indent: 0
 if (true)                      // #save indent: 0
     echo true;         // #temp-pre-indent: 1, #save indent: 1
 else                           // #save indent: 0
@@ -69,15 +71,24 @@ else                                // #save indent: 0
 
 ## Alternative control structure for if-else 2
 
+```php                                 // #save indent: 0
+if (true &&                    // #save indent: 0, #increase push (0 1) 
indent: 1
+    true                               // #save indent: 1
+):                                             // #decrease pop (0 1) indent: 
0, #save indent: 0, #increase push (0 1) indent: 1
+    echo true;                 // #save indent_ 1
+elseif (true                   // #decrease pop (0 1) indent: 0, #save indent: 
0, #increase push (0 1) indent: 1
+    || false):                 // #decrease pop (0 1) indent: 0, #save indent: 
0, #increase push (0 1) indent: 1
+    echo 'another';    // #save indent: 1
+else:                                  // #decrease pop (0 1) indent: 0, #save 
indent: 0, #increase push (0 1) indent: 1
+    echo false;                // #save indent: 1
+endif;                                 // #decrease pop (0 1) indent: 0, #save 
indent: 0
+```
+
+## Multi-line assignments 1
+
 ```php
-if (true &&                    #save indent: 0, #increase push (0 1) indent: 1
-    true                               #save indent: 1
-):                                             #decrease pop (0 1) indent: 0, 
#save indent: 0, #increase push (0 1) indent: 1
-    echo true;                 #save indent 1
-elseif (true                   #decrease pop (0 1) indent: 0, #save indent: 0, 
#increase push (0 1) indent: 1
-    || false):                 #decrease pop (0 1) indent: 0, #save indent: 0, 
#increase push (0 1) indent: 1
-    echo 'another';
-else:
-    echo false;
-endif;
+<?php                          // #save indent: 0
+$var = 'abc'           // #save indent: 0, #increase push (0 1) indent: 1
+    . 'def'            // #save indent: 1
+    . 'ghj';           // #decrease pop (0 1) indent: 0, #save indent: 0 <!-- 
ERROR -->
 ```
diff --git a/phps-mode-functions.el b/phps-mode-functions.el
index cfcea9e..ff64e48 100644
--- a/phps-mode-functions.el
+++ b/phps-mode-functions.el
@@ -302,10 +302,7 @@
                             (< round-bracket-level in-assignment))
                         (progn
                           (setq in-assignment nil)
-                          (when in-assignment-started-this-line
                             (setq in-assignment-level 0))
-                          ;; (message "Assignment ended at semi-colon")
-                          )
                       (when (and first-token-on-line
                                  (not in-heredoc))
                         (setq in-assignment-level 1)



reply via email to

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