branch: externals/phps-mode commit ec18c1ec226117be2611e1bd70a402552d1a843d Author: Christian Johansson <christ...@cvj.se> Commit: Christian Johansson <christ...@cvj.se>
Using parser to be able to implement incremental parser --- phps-mode-lex-analyzer.el | 15 ++++++++------- test/phps-mode-test-lex-analyzer.el | 10 +++++----- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/phps-mode-lex-analyzer.el b/phps-mode-lex-analyzer.el index 918c147..e83cadd 100644 --- a/phps-mode-lex-analyzer.el +++ b/phps-mode-lex-analyzer.el @@ -410,7 +410,7 @@ (progn (setq after-parser-parse - (phps-mode-parser-parse)) + (phps-mode-parser--parse)) (setq got-error nil)) (when got-error (kill-buffer))) @@ -424,12 +424,13 @@ (after-lexer-heredoc-label-stack phps-mode-lexer--heredoc-label-stack)) (kill-buffer) (list - after-lexer-tokens - after-lexer-states - after-lexer-state - after-lexer-state-stack - after-lexer-heredoc-label - after-lexer-heredoc-label-stack + (list + after-lexer-tokens + after-lexer-states + after-lexer-state + after-lexer-state-stack + after-lexer-heredoc-label + after-lexer-heredoc-label-stack) after-parser-parse))))))) (defun phps-mode-lex-analyzer--re2c-run (&optional force-synchronous) diff --git a/test/phps-mode-test-lex-analyzer.el b/test/phps-mode-test-lex-analyzer.el index a1c9c5b..e673430 100644 --- a/test/phps-mode-test-lex-analyzer.el +++ b/test/phps-mode-test-lex-analyzer.el @@ -1611,14 +1611,14 @@ ) -(defun phps-mode-test-lex-analyzer--parse () +(defun phps-mode-test-lex-analyzer--parse-string () "Test the parser." (should (equal - '(((T_OPEN_TAG 1 . 7) (T_ECHO 7 . 11) (T_CONSTANT_ENCAPSED_STRING 12 . 17) (";" 17 . 18)) ((17 18 ST_IN_SCRIPTING nil nil nil nil) (12 17 ST_IN_SCRIPTING nil nil nil nil) (7 11 ST_IN_SCRIPTING nil nil nil nil) (1 7 ST_IN_SCRIPTING nil nil nil nil)) ST_IN_SCRIPTING nil nil nil (80 459 466 411 333 332 154 102 79)) - (phps-mode-lex-analyzer--parse-string - "<?php echo 'abc';"))) + '(80 459 466 411 333 332 154 102 79) + (car (car (cdr (phps-mode-lex-analyzer--parse-string + "<?php echo 'abc';")))))) (message "Passed valid parse test") (should-error @@ -1648,7 +1648,7 @@ (phps-mode-test-lex-analyzer--get-moved-imenu) (phps-mode-test-lex-analyzer--comment-uncomment-region) (phps-mode-test-lex-analyzer--move-lines-indent) - (phps-mode-test-lex-analyzer--parse)) + (phps-mode-test-lex-analyzer--parse-string)) (phps-mode-test-lex-analyzer)