branch: externals/phps-mode
commit faa4e003f9c21d490f4d822232b73e162e518379
Author: Christian Johansson <[email protected]>
Commit: Christian Johansson <[email protected]>
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)