branch: externals/phps-mode commit 5d0764e69e9036028c7ca5d24e406b0aaab0016e Author: Christian Johansson <christ...@cvj.se> Commit: Christian Johansson <christ...@cvj.se>
Finished reviewing lexer for PHP 8.4 --- phps-mode-lexer-generator.el | 23 +++++++++++++++++------ phps-mode-syntax-color-generator.el | 1 + 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/phps-mode-lexer-generator.el b/phps-mode-lexer-generator.el index f654f15c6e..559ac6f871 100644 --- a/phps-mode-lexer-generator.el +++ b/phps-mode-lexer-generator.el @@ -967,8 +967,6 @@ (lambda() (looking-at ">>")) (lambda() (phps-mode-lexer--return-token 'T_SR))) - ;; TODO WAS HERE - (phps-mode-lexer-generator--add-rule phps-mode-lexer-generator--table 'ST_IN_SCRIPTING @@ -1174,6 +1172,12 @@ (lambda() (looking-at "__FUNCTION__")) (lambda() (phps-mode-lexer--return-token-with-indent 'T_FUNC_C))) + (phps-mode-lexer-generator--add-rule + phps-mode-lexer-generator--table + 'ST_IN_SCRIPTING + (lambda() (looking-at "__PROPERTY__")) + (lambda() (phps-mode-lexer--return-token-with-indent 'T_PROPERTY_C))) + (phps-mode-lexer-generator--add-rule phps-mode-lexer-generator--table 'ST_IN_SCRIPTING @@ -1383,7 +1387,7 @@ (lambda() (looking-at (concat "\\(" phps-mode-lexer--tokens - "\\|[{}\"`]\\)"))) + "\\|[(){}\"`]\\)"))) (lambda() (let* ((start (match-beginning 0)) (end (match-end 0)) @@ -1513,6 +1517,15 @@ start) start)))))))) + (phps-mode-lexer-generator--add-rule + phps-mode-lexer-generator--table + 'ST_LOOKING_FOR_PROPERTY + (lambda() (looking-at phps-mode-lexer--any-char)) + (lambda() + (phps-mode-lexer--yyless 0) + (phps-mode-lexer--yy-pop-state) + (phps-mode-lexer--restart))) + (phps-mode-lexer-generator--add-rule phps-mode-lexer-generator--table 'ST_IN_SCRIPTING @@ -1702,9 +1715,7 @@ (phps-mode-lexer-generator--add-rule phps-mode-lexer-generator--table 'ST_END_HEREDOC - (lambda() - (looking-at - (concat phps-mode-lexer--any-char))) + (lambda() (looking-at phps-mode-lexer--any-char)) (lambda() (let* ((start (match-beginning 0)) (end (+ start diff --git a/phps-mode-syntax-color-generator.el b/phps-mode-syntax-color-generator.el index 263cc7e8fa..df1209ff5e 100644 --- a/phps-mode-syntax-color-generator.el +++ b/phps-mode-syntax-color-generator.el @@ -129,6 +129,7 @@ (T_POW_EQUAL font-lock-constant-face table) (T_PRINT font-lock-keyword-face table) (T_PRIVATE font-lock-keyword-face table) + (T_PROPERTY_C font-lock-constant-face table) (T_PROTECTED font-lock-keyword-face table) (T_PUBLIC font-lock-keyword-face table) (T_READONLY font-lock-keyword-face table)