branch: externals/phps-mode commit f1236e2f66eed7f52cdc0df91c974ee4fbc941ef Author: Christian Johansson <christ...@cvj.se> Commit: Christian Johansson <christ...@cvj.se>
Unit tests for indentation calculation for multi-line strings passes --- phps-mode-functions.el | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/phps-mode-functions.el b/phps-mode-functions.el index b314a4a..52a1240 100644 --- a/phps-mode-functions.el +++ b/phps-mode-functions.el @@ -128,7 +128,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)) @@ -165,7 +165,17 @@ (setq first-token-is-nesting-decrease nil) (setq in-assignment-level 0) (setq in-class-declaration-level 0))) - (setq first-token-on-line nil)) + (setq first-token-on-line nil) + (when (> token-end-line-number token-start-line-number) + ;; (message "Token not first on line %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)) + + (let ((token-line-number-diff (1- (- token-end-line-number token-start-line-number)))) + (while (>= token-line-number-diff 0) + (puthash (- token-end-line-number token-line-number-diff) `(,column-level ,tuning-level) line-indents) + (setq token-line-number-diff (1- token-line-number-diff)))) + (setq tuning-level 0))) ;; Keep track of round bracket level (when (string= token "(")