branch: externals/phps-mode commit f79cf4f5f6fab10f56a291c896f6df3f1a335fda Author: Christian Johansson <christ...@cvj.se> Commit: Christian Johansson <christ...@cvj.se>
Started on function for moving lexer states --- phps-lexer.el | 17 +++++++++++++++-- phps-test-lexer.el | 16 ++++++++-------- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/phps-lexer.el b/phps-lexer.el index d96bf2b..18ee244 100644 --- a/phps-lexer.el +++ b/phps-lexer.el @@ -1278,8 +1278,21 @@ ANY_CHAR' (interactive) (setq phps-mode/lexer-tokens (semantic-lex-buffer))) -(defun phps-mode/move-lexer-tokens (old-tokens start diff) - "Move lexer OLD-TOKENS positions after (or equal to) START with DIFF points." +(defun phps-mode/move-lexer-states (start diff) + "Move lexer states after (or equal to) START with modification DIFF." + (setq phps-mode/lexer-states (phps-mode/get-moved-lexer-states phps-mode/lexer-states start diff))) + +(defun phps-mode/get-moved-lexer-states (states start diff) + "Return moved lexer STATES after (or equal to) START with modification DIFF." + ;; TODO Implement this + ) + +(defun phps-mode/lexer-move-lexer-tokens (start diff) + "Update tokens with moved lexer tokens after or equal to START with modification DIFF." + (setq phps-mode/lexer-tokens (phps-mode/get-moved-lexer-tokens phps-mode/lexer-tokens start diff))) + +(defun phps-mode/get-moved-lexer-tokens (old-tokens start diff) + "Return moved lexer OLD-TOKENS positions after (or equal to) START with DIFF points." (let ((new-tokens '())) (when old-tokens diff --git a/phps-test-lexer.el b/phps-test-lexer.el index 8ef15d5..e2401d5 100644 --- a/phps-test-lexer.el +++ b/phps-test-lexer.el @@ -269,28 +269,28 @@ ) -(defun phps-mode/test-move-lexer-tokens () - "Run test for move lexer tokens." +(defun phps-mode/test-get-moved-lexer-tokens () + "Run test for get moved lexer tokens." (should (equal '((T_OPEN_TAG 1 . 7) (T_START_HEREDOC 7 . 16) (T_ERROR 21 . 60)) - (phps-mode/move-lexer-tokens '((T_OPEN_TAG 1 . 7) (T_START_HEREDOC 7 . 16) (T_ERROR 16 . 55)) 8 5))) + (phps-mode/get-moved-lexer-tokens '((T_OPEN_TAG 1 . 7) (T_START_HEREDOC 7 . 16) (T_ERROR 16 . 55)) 8 5))) (should (equal '((T_OPEN_TAG 1 . 7) (T_START_HEREDOC 7 . 16) (T_ERROR 11 . 50)) - (phps-mode/move-lexer-tokens '((T_OPEN_TAG 1 . 7) (T_START_HEREDOC 7 . 16) (T_ERROR 16 . 55)) 8 -5))) + (phps-mode/get-moved-lexer-tokens '((T_OPEN_TAG 1 . 7) (T_START_HEREDOC 7 . 16) (T_ERROR 16 . 55)) 8 -5))) (should (equal '((T_OPEN_TAG 1 . 7) (T_START_HEREDOC 8 . 17) (T_ERROR 17 . 56)) - (phps-mode/move-lexer-tokens '((T_OPEN_TAG 1 . 7) (T_START_HEREDOC 7 . 16) (T_ERROR 16 . 55)) 7 1))) + (phps-mode/get-moved-lexer-tokens '((T_OPEN_TAG 1 . 7) (T_START_HEREDOC 7 . 16) (T_ERROR 16 . 55)) 7 1))) (should (equal '((T_OPEN_TAG 1 . 7) (T_START_HEREDOC 7 . 16) (T_ERROR 16 . 55)) - (phps-mode/move-lexer-tokens '((T_OPEN_TAG 1 . 7) (T_START_HEREDOC 7 . 16) (T_ERROR 16 . 55)) 20 1))) + (phps-mode/get-moved-lexer-tokens '((T_OPEN_TAG 1 . 7) (T_START_HEREDOC 7 . 16) (T_ERROR 16 . 55)) 20 1))) (should (equal '((T_OPEN_TAG 2 . 8) (T_START_HEREDOC 8 . 17) (T_ERROR 17 . 56)) - (phps-mode/move-lexer-tokens '((T_OPEN_TAG 1 . 7) (T_START_HEREDOC 7 . 16) (T_ERROR 16 . 55)) -20 1))) + (phps-mode/get-moved-lexer-tokens '((T_OPEN_TAG 1 . 7) (T_START_HEREDOC 7 . 16) (T_ERROR 16 . 55)) -20 1))) ) @@ -303,7 +303,7 @@ (phps-mode/test-lexer--complex-tokens) (phps-mode/test-lexer--namespaces) (phps-mode/test-lexer--errors) - (phps-mode/test-move-lexer-tokens) + (phps-mode/test-get-moved-lexer-tokens) ;; (message "\n-- Ran all tests for lexer. --") )