branch: externals/phps-mode commit 7dca53763db3be2cf5eedc6c6438c64895e4b5db Author: Christian Johansson <christ...@cvj.se> Commit: Christian Johansson <christ...@cvj.se>
Started work on renaming files --- ...ion-header.wy => phps-mode-automation-header.wy | 0 phps-automation.el => phps-mode-automation.el | 0 phps-flycheck.el => phps-mode-flycheck.el | 38 +- phps-flymake.el => phps-mode-flymake.el | 20 +- phps-font-lock.el => phps-mode-font-lock.el | 21 +- phps-functions.el => phps-mode-functions.el | 67 +- phps-lexer.el => phps-mode-lexer.el | 888 +++++++++++---------- phps-map.el => phps-mode-map.el | 22 +- phps-semantic.el => phps-mode-semantic.el | 8 +- phps-syntax-table.el => phps-mode-syntax-table.el | 70 +- phps-tags.el => phps-mode-tags.el | 15 +- ...est-functions.el => phps-mode-test-functions.el | 22 +- phps-test-lexer.el => phps-mode-test-lexer.el | 38 +- phps-test-parser.el => phps-mode-test-parser.el | 18 +- phps-test.el => phps-mode-test.el | 16 +- phps-mode.el | 41 +- 16 files changed, 593 insertions(+), 691 deletions(-) diff --git a/phps-automation-header.wy b/phps-mode-automation-header.wy similarity index 100% rename from phps-automation-header.wy rename to phps-mode-automation-header.wy diff --git a/phps-automation.el b/phps-mode-automation.el similarity index 100% rename from phps-automation.el rename to phps-mode-automation.el diff --git a/phps-flycheck.el b/phps-mode-flycheck.el similarity index 83% rename from phps-flycheck.el rename to phps-mode-flycheck.el index b86c200..f9de0f9 100644 --- a/phps-flycheck.el +++ b/phps-mode-flycheck.el @@ -1,16 +1,6 @@ -;;; phps-mode/phps-flycheck.el --- Flycheck support for PHP with Semantic integration -*- lexical-binding: t -*- +;;; phps-mode-flycheck.el --- Flycheck support for PHPs -*- lexical-binding: t -*- -;; Author: Christian Johansson <github.com/cjohansson> -;; Maintainer: Christian Johansson <github.com/cjohansson> -;; Created: 3 Mar 2018 -;; Modified: . -;; Version: 0.1 -;; Keywords: tools, convenience -;; URL: - - -;; Package-Requires: ((emacs "24")) - -;; Copyright (C) 2017 Christian Johansson +;; Copyright (C) 2018 Christian Johansson ;; This file is not part of GNU Emacs. @@ -32,18 +22,20 @@ ;;; Commentary: -;; Please see README.md from the same repository for extended documentation. -;;; Commentary: +;; Please see README.md from the same repository for extended documentation. ;;; Code: -(defun phps-mode/flycheck-init () +(defun phps-mode-flycheck-init () "Add flycheck support for PHP Semantic mode." + ;; Is flycheck available? (when (fboundp 'flycheck-define-checker) + + ;; Add PHP checker (flycheck-define-checker php "A PHP syntax checker using the PHP command line interpreter. @@ -53,10 +45,11 @@ See URL `http://php.net/manual/en/features.commandline.php'." :error-patterns ((error line-start (or "Parse" "Fatal" "syntax") " error" (any ":" ",") " " (message) " in " (file-name) " on line " line line-end)) - :modes (php-mode php+-mode phps-mode) + :modes (phps-mode) :next-checkers ((warning . php-phpmd) (warning . php-phpcs))) + ;; Add PHP Mess Detector checker (flycheck-define-checker php-phpmd "A PHP style checker using PHP Mess Detector. @@ -65,9 +58,10 @@ See URL `https://phpmd.org/'." (eval (flycheck-option-comma-separated-list flycheck-phpmd-rulesets))) :error-parser flycheck-parse-phpmd - :modes (php-mode php+-mode phps-mode) - :next-checkers (php-phpcs)) + :modes (phps-mode) + :next-checkers ((warning . php-phpcs))) + ;; Add PHP Code Sniffer checker (flycheck-define-checker php-phpcs "A PHP style checker using PHP Code Sniffer. @@ -97,10 +91,10 @@ See URL `http://pear.php.net/package/PHP_CodeSniffer/'." ;; phpcs seems to choke on empty standard input, hence skip phpcs if the ;; buffer is empty, see https://github.com/flycheck/flycheck/issues/907 :predicate (lambda () (not (flycheck-buffer-empty-p)))) - ) - ) + + )) -(provide 'phps-mode/flycheck) +(provide 'phps-mode-flycheck) -;;; phps-flycheck.el ends here +;;; phps-mode-flycheck.el ends here diff --git a/phps-flymake.el b/phps-mode-flymake.el similarity index 80% rename from phps-flymake.el rename to phps-mode-flymake.el index 8e7992b..4045ed8 100644 --- a/phps-flymake.el +++ b/phps-mode-flymake.el @@ -1,16 +1,6 @@ -;;; phps-mode/phps-flymake.el --- Major mode for PHP with Semantic integration -*- lexical-binding: t -*- +;;; phps-mode-flymake.el --- Flymake support for PHPs -*- lexical-binding: t -*- -;; Author: Christian Johansson <github.com/cjohansson> -;; Maintainer: Christian Johansson <github.com/cjohansson> -;; Created: 3 Mar 2018 -;; Modified: . -;; Version: 0.1 -;; Keywords: tools, convenience -;; URL: - - -;; Package-Requires: ((emacs "24")) - -;; Copyright (C) 2017 Christian Johansson +;; Copyright (C) 2018 Christian Johansson ;; This file is not part of GNU Emacs. @@ -41,7 +31,7 @@ (require 'flymake) -(defun phps-mode/flymake-init () +(defun phps-mode-flymake-init () "PHP specific init-cleanup routines. This is an alternative function of `flymake-php-init'. @@ -69,6 +59,6 @@ Look at the `php-executable' variable instead of the constant \"php\" command." (file-name-directory buffer-file-name)))) (list php-executable (list "-f" local-file "-l"))))) -(provide 'phps-mode/flymake) +(provide 'phps-mode-flymake) -;;; phps-flymake.el ends here +;;; phps-mode-flymake.el ends here diff --git a/phps-font-lock.el b/phps-mode-font-lock.el similarity index 69% rename from phps-font-lock.el rename to phps-mode-font-lock.el index d34941f..9127546 100644 --- a/phps-font-lock.el +++ b/phps-mode-font-lock.el @@ -1,16 +1,6 @@ -;;; phps-mode/phps-font-lock.el --- Font Lock for PHP Semantic -*- lexical-binding: t -*- +;;; phps-mode-font-lock.el --- Font Lock for PHPs -*- lexical-binding: t -*- -;; Author: Christian Johansson <github.com/cjohansson> -;; Maintainer: Christian Johansson <github.com/cjohansson> -;; Created: 3 Mar 2018 -;; Modified: . -;; Version: 0.1 -;; Keywords: tools, convenience -;; URL: - - -;; Package-Requires: ((emacs "24")) - -;; Copyright (C) 2017 Christian Johansson +;; Copyright (C) 2018 Christian Johansson ;; This file is not part of GNU Emacs. @@ -39,7 +29,7 @@ ;;; Code: -(defun phps-mode/font-lock-init () +(defun phps-mode-font-lock-init () "Apply font-lock." (setq font-lock-keywords-only nil) @@ -49,6 +39,5 @@ ) -(provide 'phps-mode/font-lock) - -;;; phps-font-lock.el ends here +(provide 'phps-mode-font-lock) +;;; phps-mode-font-lock.el ends here diff --git a/phps-functions.el b/phps-mode-functions.el similarity index 88% rename from phps-functions.el rename to phps-mode-functions.el index 3450d31..b80d2dc 100644 --- a/phps-functions.el +++ b/phps-mode-functions.el @@ -1,14 +1,4 @@ -;;; phps-mode/phps-functions.el --- Mode functions for PHPs -*- lexical-binding: t -*- - -;; Author: Christian Johansson <github.com/cjohansson> -;; Maintainer: Christian Johansson <github.com/cjohansson> -;; Created: 3 Mar 2018 -;; Modified: . -;; Version: 0.1 -;; Keywords: tools, convenience -;; URL: - - -;; Package-Requires: ((emacs "24")) +;;; phps-mode-functions.el --- Mode functions for PHPs -*- lexical-binding: t -*- ;; Copyright (C) 2018 Christian Johansson @@ -29,18 +19,17 @@ ;; Free Spathoftware Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. - ;;; Commentary: ;;; Code: -(autoload 'phps-mode/run-incremental-lex "phps-lexer") -(autoload 'phps-mode/move-lexer-tokens "phps-lexer") -(autoload 'phps-mode/move-lexer-states "phps-lexer") +(autoload 'phps-mode-lexer-run-incremental "phps-mode-lexer") +(autoload 'phps-mode-lexer-move-tokens "phps-mode-lexer") +(autoload 'phps-mode-lexer-move-states "phps-mode-lexer") -(defvar phps-mode/buffer-changes--start nil - "Start of buffer changes, nil if none.") +(defvar phps-mode-functions-buffer-changes-start nil + "Start point of buffer changes, nil if none.") ;; NOTE Also format white-space inside the line, i.e. after function declarations? @@ -48,9 +37,9 @@ ;; TODO Support indentation for multi-line scalar assignments ;; TODO Add support for automatic parenthesis, bracket, square-bracket, single-quote and double-quote encapsulations -(defun phps-mode/indent-line () +(defun phps-mode-functions-indent-line () "Indent line." - (let ((data (phps-mode/get-point-data)) + (let ((data (phps-mode-functions-get-point-data)) (line-start (line-beginning-position))) (let* ((start (nth 0 data)) (end (nth 1 data)) @@ -170,8 +159,8 @@ (indent-line-to indent-sum) ;; When indent is changed the trailing tokens and states just need to adjust their positions, this will improve speed of indent-region a lot - (phps-mode/move-lexer-tokens line-start indent-diff) - (phps-mode/move-lexer-states line-start indent-diff) + (phps-mode-lexer-move-tokens line-start indent-diff) + (phps-mode-lexer-move-states line-start indent-diff) ;; (message "Moving tokens and states %s, %s to %s" indent-diff current-indentation indent-sum) ;; ;; Set point of change if it's not set or if it's larger than current point @@ -180,30 +169,30 @@ ;; ;; (message "Setting changes start from %s to %s" phps-mode/buffer-changes--start start) ;; (setq phps-mode/buffer-changes--start line-start)) - ;; (phps-mode/run-incremental-lex) + ;; (phps-mode-lexer-run-incremental) ))))))))) ;; TODO Fix flycheck error here -(defun phps-mode/after-change-functions (start stop length) +(defun phps-mode-functions-after-change (start stop length) "Track buffer change from START to STOP with length LENGTH." (when (string= major-mode "phps-mode") - (when (and (not phps-mode/buffer-changes--start) - (boundp 'phps-mode/idle-interval)) - ;; (run-with-idle-timer phps-mode/idle-interval nil #'phps-mode/lex--RUN) + (when (and (not phps-mode-functions-buffer-changes-start) + (boundp 'phps-mode-idle-interval)) + ;; (run-with-idle-timer phps-mode/idle-interval nil #'phps-mode-lexer-run) ;; TODO Maybe use incremental lexer once it's working - (run-with-idle-timer phps-mode/idle-interval nil #'phps-mode/run-incremental-lex) + (run-with-idle-timer phps-mode-idle-interval nil #'phps-mode-lexer-run-incremental) ) - (when (or (not phps-mode/buffer-changes--start) - (< start phps-mode/buffer-changes--start)) + (when (or (not phps-mode-functions-buffer-changes-start) + (< start phps-mode-functions-buffer-changes-start)) ;; (message "Setting start of changes from %s to %s" phps-mode/buffer-changes--start start) - (setq phps-mode/buffer-changes--start start)) + (setq phps-mode-functions-buffer-changes-start start)) ;; (message "phps-mode/after-change-functions %s %s %s" start stop length) )) ;; TODO This function needs to keep track of alternative syntax for control structures -(defun phps-mode/get-point-data () +(defun phps-mode-functions-get-point-data () "Return information about point in tokens." ;; (message "Point: %s in %s" (point) phps-mode/lexer-tokens) (when (boundp 'phps-mode/lexer-tokens) @@ -295,14 +284,14 @@ ;; (message "data: %s" data) data))))) -(defun phps-mode/functions-init () +(defun phps-mode-functions-init () "PHP specific init-cleanup routines." ;; indent-region will call this on each line of region - (set (make-local-variable 'indent-line-function) #'phps-mode/indent-line) + (set (make-local-variable 'indent-line-function) #'phps-mode-functions-indent-line) - (when (and (boundp 'phps-mode/use-psr-2) - phps-mode/use-psr-2) + (when (and (boundp 'phps-mode-use-psr-2) + phps-mode-use-psr-2) ;; PSR-2 : Code MUST use an indent of 4 spaces (set (make-local-variable 'tab-width) 4) @@ -312,14 +301,14 @@ ) - (set (make-local-variable 'phps-mode/buffer-changes--start) nil) + (set (make-local-variable 'phps-mode-functions-buffer-changes-start) nil) - (add-hook 'after-change-functions #'phps-mode/after-change-functions) + (add-hook 'after-change-functions #'phps-mode-functions-after-change) ;; NOTE Implement indent-region? ) -(provide 'phps-mode/functions) +(provide 'phps-mode-functions) -;;; phps-functions.el ends here +;;; phps-mode-functions.el ends here diff --git a/phps-lexer.el b/phps-mode-lexer.el similarity index 51% rename from phps-lexer.el rename to phps-mode-lexer.el index 33bb126..24d6b68 100644 --- a/phps-lexer.el +++ b/phps-mode-lexer.el @@ -1,4 +1,4 @@ -;;; phps-mode/phps-lexer.wy -- Lexer for PHP -*- lexical-binding: t -*- +;;; phps-mode-lexer.el -- Lexer for PHPs -*- lexical-binding: t -*- ;; Copyright (C) 2018 Free Software Foundation, Inc. ;; @@ -44,10 +44,10 @@ ;; Make sure `semantic-lex-syntax-modifications' is correct since lexer is dependent on Emacs syntax-table -(defvar phps-mode/lexer-tokens nil +(defvar phps-mode-lexer-tokens nil "Last lexer tokens.") -(defvar phps-mode/lexer-states nil +(defvar phps-mode-lexer-states nil "A list of lists containing start, state and state stack.") @@ -55,141 +55,141 @@ ;; @see https://secure.php.net/manual/en/language.types.integer.php -(defvar phps-mode/long-limit 2147483648 +(defvar phps-mode-lexer-long-limit 2147483648 "Limit for 32-bit integer.") -(defvar phps-mode/PARSER_MODE t +(defvar phps-mode-lexer-PARSER_MODE t "Flag whether we is using parser-mode or not.") -(defvar phps-mode/SHORT_TAGS t +(defvar phps-mode-lexer-SHORT_TAGS t "Flag whether we support short-tags or not.") ;; FLAGS/SIGNALS -(defvar phps-mode/declaring_namespace nil +(defvar phps-mode-lexer-declaring_namespace nil "Flag whether we are declaring namespace.") -(defvar phps-mode/prepend_trailing_brace nil +(defvar phps-mode-lexer-prepend_trailing_brace nil "Flag whether we should prepend trailing brace.") -(defvar phps-mode/STATE nil +(defvar phps-mode-lexer-STATE nil "Current state.") -(defvar phps-mode/EXPECTED nil +(defvar phps-mode-lexer-EXPECTED nil "Flag whether something is expected or not.") -(defvar phps-mode/state_stack nil +(defvar phps-mode-lexer-state_stack nil "Stack of states.") -(defvar phps-mode/heredoc_label_stack (list) +(defvar phps-mode-lexer-heredoc_label_stack (list) "The current heredoc_label.") -(defconst phps-mode/ST_INITIAL 0 +(defconst phps-mode-lexer-ST_INITIAL 0 "Flag for initial state.") -(defconst phps-mode/ST_IN_SCRIPTING 1 +(defconst phps-mode-lexer-ST_IN_SCRIPTING 1 "Flag whether we are in script or not.") -(defconst phps-mode/ST_BACKQUOTE 2 +(defconst phps-mode-lexer-ST_BACKQUOTE 2 "Flag whether we are inside backquote or not.") -(defconst phps-mode/ST_DOUBLE_QUOTES 3 +(defconst phps-mode-lexer-ST_DOUBLE_QUOTES 3 "Flag whether we are inside double quotes or not.") -(defconst phps-mode/ST_END_HEREDOC 4 +(defconst phps-mode-lexer-ST_END_HEREDOC 4 "Flag whether we are inside end heredoc or not.") -(defconst phps-mode/ST_HEREDOC 5 +(defconst phps-mode-lexer-ST_HEREDOC 5 "Flag whether we are inside heredoc or not.") -(defconst phps-mode/ST_LOOKING_FOR_PROPERTY 6 +(defconst phps-mode-lexer-ST_LOOKING_FOR_PROPERTY 6 "Flag whether we are looking for property or not.") -(defconst phps-mode/ST_LOOKING_FOR_VARNAME 7 +(defconst phps-mode-lexer-ST_LOOKING_FOR_VARNAME 7 "Flag whether we are looking for variable name or not.") -(defconst phps-mode/ST_NOWDOC 8 +(defconst phps-mode-lexer-ST_NOWDOC 8 "Flag whether we are inside nowdoc or not.") -(defconst phps-mode/ST_VAR_OFFSET 9 +(defconst phps-mode-lexer-ST_VAR_OFFSET 9 "Flag whether we are looking for variable offset or not.") ;; REGULAR EXPRESSIONS -(defvar phps-mode/BNUM "0b[01]+" +(defvar phps-mode-lexer-BNUM "0b[01]+" "Boolean number.") -(defvar phps-mode/HNUM "0x[0-9a-fA-F]+" +(defvar phps-mode-lexer-HNUM "0x[0-9a-fA-F]+" "Hexadecimal number.") -(defvar phps-mode/LNUM "[0-9]+" +(defvar phps-mode-lexer-LNUM "[0-9]+" "Long number.") -(defvar phps-mode/DNUM "\\([0-9]*\\.[0-9]+\\)\\|\\([0-9]+\\.[0-9]*\\)" +(defvar phps-mode-lexer-DNUM "\\([0-9]*\\.[0-9]+\\)\\|\\([0-9]+\\.[0-9]*\\)" "Double number.") -(defvar phps-mode/EXPONENT_DNUM +(defvar phps-mode-lexer-EXPONENT_DNUM (format "\\(\\(%s\\|%s\\)[eE][\\+-]?%s\\)" - phps-mode/LNUM - phps-mode/DNUM - phps-mode/LNUM) + phps-mode-lexer-LNUM + phps-mode-lexer-DNUM + phps-mode-lexer-LNUM) "Exponent double number.") -(defvar phps-mode/LABEL +(defvar phps-mode-lexer-LABEL "[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*" "Labels are used for names.") -(defvar phps-mode/WHITESPACE "[ \n\r\t]+" +(defvar phps-mode-lexer-WHITESPACE "[ \n\r\t]+" "Whitespace.") -(defvar phps-mode/TABS_AND_SPACES "[ \t]*" +(defvar phps-mode-lexer-TABS_AND_SPACES "[ \t]*" "Tabs and whitespaces.") -(defvar phps-mode/TOKENS "[][;\\:,\.()|^&+-/*=%!~\\$<>?@]" +(defvar phps-mode-lexer-TOKENS "[][;\\:,\.()|^&+-/*=%!~\\$<>?@]" "Tokens.") -(defvar phps-mode/ANY_CHAR ".\\|\n" +(defvar phps-mode-lexer-ANY_CHAR ".\\|\n" "Any character. The Zend equivalent is [^] but is not possible in Emacs Lisp.") -(defvar phps-mode/NEWLINE "\\(\r\\|\n\\|\r\n\\)" +(defvar phps-mode-lexer-NEWLINE "\\(\r\\|\n\\|\r\n\\)" "Newline characters.") ;; FUNCTIONS -(defun phps-mode/BEGIN (state) +(defun phps-mode-lexer-BEGIN (state) "Begin STATE." - (setq phps-mode/STATE state) + (setq phps-mode-lexer-STATE state) ;; (message "Begun state %s" state) ) ;; _yy_push_state -(defun phps-mode/yy_push_state (new-state) +(defun phps-mode-lexer-yy_push_state (new-state) "Add NEW-STATE to stack and then begin state." - (push phps-mode/STATE phps-mode/state_stack) + (push phps-mode-lexer-STATE phps-mode-lexer-state_stack) ;; (message "Added state %s to stack" old-state) - (phps-mode/BEGIN new-state)) + (phps-mode-lexer-BEGIN new-state)) -(defun phps-mode/yy_pop_state () +(defun phps-mode-lexer-yy_pop_state () "Pop current state from stack." - (let ((old-state (pop phps-mode/state_stack))) + (let ((old-state (pop phps-mode-lexer-state_stack))) ;; (message "Going back to poppped state %s" old-state) ;; (message "Ended state %s, going back to %s" old-state new-state) (if old-state - (phps-mode/BEGIN old-state) + (phps-mode-lexer-BEGIN old-state) (display-warning "phps-mode" "PHPs Lexer Error - Going back to nil?")) )) -(defun phps-mode/MOVE_FORWARD (position) +(defun phps-mode-lexer-MOVE_FORWARD (position) "Move forward to POSITION." (setq semantic-lex-end-point position)) -(defun phps-mode/COLOR_SYNTAX (token start end) +(defun phps-mode-lexer-COLOR_SYNTAX (token start end) "Syntax coloring for TOKEN from START to END." ;; Syntax coloring ;; see https://www.gnu.org/software/emacs/manual/html_node/elisp/Faces-for-Font-Lock.html#Faces-for-Font-Lock @@ -360,27 +360,27 @@ )) -(defun phps-mode/RETURN_TOKEN (token start end) +(defun phps-mode-lexer-RETURN_TOKEN (token start end) "Push TOKEN to list with START and END." - (phps-mode/COLOR_SYNTAX token start end) + (phps-mode-lexer-COLOR_SYNTAX token start end) ;; (when (and - ;; phps-mode/prepend_trailing_brace + ;; phps-mode-lexer-prepend_trailing_brace ;; (> end (- (point-max) 2))) ;; ;; (message "Adding trailing brace") - ;; (setq phps-mode/prepend_trailing_brace nil) - ;; (phps-mode/RETURN_TOKEN "}" (- end 1) end)) + ;; (setq phps-mode-lexer-prepend_trailing_brace nil) + ;; (phps-mode-lexer-RETURN_TOKEN "}" (- end 1) end)) ;; (message "Added token %s %s %s" token start end) ;; Push token start, end, lexer state and state stack to variable - (push (list start end phps-mode/STATE phps-mode/state_stack) phps-mode/lexer-states) + (push (list start end phps-mode-lexer-STATE phps-mode-lexer-state_stack) phps-mode-lexer-states) (semantic-lex-push-token (semantic-lex-token token start end))) ;; TODO Figure out what this does -(defun phps-mode/SKIP_TOKEN (token start end) +(defun phps-mode-lexer-SKIP_TOKEN (token start end) "Skip TOKEN to list with START and END." ) @@ -388,45 +388,45 @@ ;; LEXERS -(define-lex-analyzer phps-mode/lex--INITIAL +(define-lex-analyzer phps-mode-lexer-lex--INITIAL "<?=,<?php,<?,end|inline_char_handler" - (= phps-mode/STATE phps-mode/ST_INITIAL) + (= phps-mode-lexer-STATE phps-mode-lexer-ST_INITIAL) (cond ((looking-at "<\\?=") (let ((start (match-beginning 0)) (end (match-end 0))) - (phps-mode/BEGIN phps-mode/ST_IN_SCRIPTING) + (phps-mode-lexer-BEGIN phps-mode-lexer-ST_IN_SCRIPTING) ;; (message "Starting scripting after <?=") - (when phps-mode/PARSER_MODE - (phps-mode/RETURN_TOKEN 'T_ECHO start end)) - (phps-mode/RETURN_TOKEN 'T_OPEN_TAG_WITH_ECHO start end))) + (when phps-mode-lexer-PARSER_MODE + (phps-mode-lexer-RETURN_TOKEN 'T_ECHO start end)) + (phps-mode-lexer-RETURN_TOKEN 'T_OPEN_TAG_WITH_ECHO start end))) ((looking-at "<\\?php\\([ \t]\\|\n\\)") (let ((start (match-beginning 0)) (end (match-end 0))) - (phps-mode/BEGIN phps-mode/ST_IN_SCRIPTING) + (phps-mode-lexer-BEGIN phps-mode-lexer-ST_IN_SCRIPTING) ;; (message "Starting scripting after <?php") - (when phps-mode/EXPECTED - (phps-mode/SKIP_TOKEN 'T_OPEN_TAG start end)) - (phps-mode/RETURN_TOKEN 'T_OPEN_TAG start end))) + (when phps-mode-lexer-EXPECTED + (phps-mode-lexer-SKIP_TOKEN 'T_OPEN_TAG start end)) + (phps-mode-lexer-RETURN_TOKEN 'T_OPEN_TAG start end))) ((looking-at "<\\?") - (when phps-mode/SHORT_TAGS + (when phps-mode-lexer-SHORT_TAGS (let ((start (match-beginning 0)) (end (match-end 0))) - (phps-mode/BEGIN phps-mode/ST_IN_SCRIPTING) - (when phps-mode/EXPECTED - (phps-mode/SKIP_TOKEN 'T_OPEN_TAG start end)) + (phps-mode-lexer-BEGIN phps-mode-lexer-ST_IN_SCRIPTING) + (when phps-mode-lexer-EXPECTED + (phps-mode-lexer-SKIP_TOKEN 'T_OPEN_TAG start end)) ;; (message "Starting scripting after <?") - (phps-mode/RETURN_TOKEN 'T_OPEN_TAG start end)))) + (phps-mode-lexer-RETURN_TOKEN 'T_OPEN_TAG start end)))) ;; NOTE: mimics inline_char_handler - ((looking-at phps-mode/ANY_CHAR) + ((looking-at phps-mode-lexer-ANY_CHAR) (let ((string-start (search-forward "<?" nil t))) (if string-start - (phps-mode/MOVE_FORWARD (- string-start 2)) - (phps-mode/MOVE_FORWARD (point-max))))) + (phps-mode-lexer-MOVE_FORWARD (- string-start 2)) + (phps-mode-lexer-MOVE_FORWARD (point-max))))) )) @@ -448,106 +448,106 @@ (setq escaped nil))))) pos)) -(define-lex-analyzer phps-mode/lex--ST_IN_SCRIPTING +(define-lex-analyzer phps-mode-lexer-lex--ST_IN_SCRIPTING "<ST_IN_SCRIPTING>" - (= phps-mode/STATE phps-mode/ST_IN_SCRIPTING) + (= phps-mode-lexer-STATE phps-mode-lexer-ST_IN_SCRIPTING) (cond ((looking-at "exit") - (phps-mode/RETURN_TOKEN 'T_EXIT (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_EXIT (match-beginning 0) (match-end 0))) ((looking-at "die") - (phps-mode/RETURN_TOKEN 'T_DIE (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_DIE (match-beginning 0) (match-end 0))) ((looking-at "function") - (phps-mode/RETURN_TOKEN 'T_FUNCTION (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_FUNCTION (match-beginning 0) (match-end 0))) ((looking-at "const") - (phps-mode/RETURN_TOKEN 'T_CONST (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_CONST (match-beginning 0) (match-end 0))) ((looking-at "return") - (phps-mode/RETURN_TOKEN 'T_RETURN (match-beginning 0) (match-end 0))) - ((looking-at (concat "yield" phps-mode/WHITESPACE "from" "[^a-zA-Z0-9_\x80-\xff]")) - (phps-mode/RETURN_TOKEN 'T_YIELD_FROM (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_RETURN (match-beginning 0) (match-end 0))) + ((looking-at (concat "yield" phps-mode-lexer-WHITESPACE "from" "[^a-zA-Z0-9_\x80-\xff]")) + (phps-mode-lexer-RETURN_TOKEN 'T_YIELD_FROM (match-beginning 0) (match-end 0))) ((looking-at "yield") - (phps-mode/RETURN_TOKEN 'T_YIELD (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_YIELD (match-beginning 0) (match-end 0))) ((looking-at "try") - (phps-mode/RETURN_TOKEN 'T_TRY (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_TRY (match-beginning 0) (match-end 0))) ((looking-at "catch") - (phps-mode/RETURN_TOKEN 'T_CATCH (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_CATCH (match-beginning 0) (match-end 0))) ((looking-at "finally") - (phps-mode/RETURN_TOKEN 'T_FINALLY (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_FINALLY (match-beginning 0) (match-end 0))) ((looking-at "throw") - (phps-mode/RETURN_TOKEN 'T_THROW (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_THROW (match-beginning 0) (match-end 0))) ((looking-at "if") - (phps-mode/RETURN_TOKEN 'T_IF (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_IF (match-beginning 0) (match-end 0))) ((looking-at "elseif") - (phps-mode/RETURN_TOKEN 'T_ELSEIF (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_ELSEIF (match-beginning 0) (match-end 0))) ((looking-at "endif") - (phps-mode/RETURN_TOKEN 'T_ENDIF (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_ENDIF (match-beginning 0) (match-end 0))) ((looking-at "else") - (phps-mode/RETURN_TOKEN 'T_ELSE (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_ELSE (match-beginning 0) (match-end 0))) ((looking-at "while") - (phps-mode/RETURN_TOKEN 'T_WHILE (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_WHILE (match-beginning 0) (match-end 0))) ((looking-at "endwhile") - (phps-mode/RETURN_TOKEN 'T_ENDWHILE (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_ENDWHILE (match-beginning 0) (match-end 0))) ((looking-at "do") - (phps-mode/RETURN_TOKEN 'T_DO (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_DO (match-beginning 0) (match-end 0))) ((looking-at "foreach") - (phps-mode/RETURN_TOKEN 'T_FOREACH (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_FOREACH (match-beginning 0) (match-end 0))) ((looking-at "endforeach") - (phps-mode/RETURN_TOKEN 'T_ENDFOREACH (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_ENDFOREACH (match-beginning 0) (match-end 0))) ((looking-at "for") - (phps-mode/RETURN_TOKEN 'T_FOR (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_FOR (match-beginning 0) (match-end 0))) ((looking-at "endfor") - (phps-mode/RETURN_TOKEN 'T_ENDFOR (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_ENDFOR (match-beginning 0) (match-end 0))) ((looking-at "declare") - (phps-mode/RETURN_TOKEN 'T_DECLARE (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_DECLARE (match-beginning 0) (match-end 0))) ((looking-at "enddeclare") - (phps-mode/RETURN_TOKEN 'T_ENDDECLARE (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_ENDDECLARE (match-beginning 0) (match-end 0))) ((looking-at "instanceof") - (phps-mode/RETURN_TOKEN 'T_INSTANCEOF (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_INSTANCEOF (match-beginning 0) (match-end 0))) ((looking-at "as") - (phps-mode/RETURN_TOKEN 'T_AS (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_AS (match-beginning 0) (match-end 0))) ((looking-at "switch") - (phps-mode/RETURN_TOKEN 'T_SWITCH (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_SWITCH (match-beginning 0) (match-end 0))) ((looking-at "endswitch") - (phps-mode/RETURN_TOKEN 'T_ENDSWITCH (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_ENDSWITCH (match-beginning 0) (match-end 0))) ((looking-at "case") - (phps-mode/RETURN_TOKEN 'T_CASE (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_CASE (match-beginning 0) (match-end 0))) ((looking-at "default") - (phps-mode/RETURN_TOKEN 'T_DEFAULT (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_DEFAULT (match-beginning 0) (match-end 0))) ((looking-at "break") - (phps-mode/RETURN_TOKEN 'T_BREAK (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_BREAK (match-beginning 0) (match-end 0))) ((looking-at "continue") - (phps-mode/RETURN_TOKEN 'T_CONTINUE (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_CONTINUE (match-beginning 0) (match-end 0))) ((looking-at "goto") - (phps-mode/RETURN_TOKEN 'T_GOTO (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_GOTO (match-beginning 0) (match-end 0))) ((looking-at "echo") - (phps-mode/RETURN_TOKEN 'T_ECHO (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_ECHO (match-beginning 0) (match-end 0))) ((looking-at "print") - (phps-mode/RETURN_TOKEN 'T_PRINT (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_PRINT (match-beginning 0) (match-end 0))) ((looking-at "class") - (phps-mode/RETURN_TOKEN 'T_CLASS (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_CLASS (match-beginning 0) (match-end 0))) ((looking-at "interface") - (phps-mode/RETURN_TOKEN 'T_INTERFACE (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_INTERFACE (match-beginning 0) (match-end 0))) ((looking-at "trait") - (phps-mode/RETURN_TOKEN 'T_TRAIT (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_TRAIT (match-beginning 0) (match-end 0))) ((looking-at "extends") - (phps-mode/RETURN_TOKEN 'T_EXTENDS (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_EXTENDS (match-beginning 0) (match-end 0))) ((looking-at "implements") - (phps-mode/RETURN_TOKEN 'T_IMPLEMENTS (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_IMPLEMENTS (match-beginning 0) (match-end 0))) ((looking-at "->") - (phps-mode/yy_push_state phps-mode/ST_LOOKING_FOR_PROPERTY) - (phps-mode/RETURN_TOKEN 'T_OBJECT_OPERATOR (match-beginning 0) (match-end 0))) + (phps-mode-lexer-yy_push_state phps-mode-lexer-ST_LOOKING_FOR_PROPERTY) + (phps-mode-lexer-RETURN_TOKEN 'T_OBJECT_OPERATOR (match-beginning 0) (match-end 0))) ((looking-at "\\?>\n?") (let ((start (match-beginning 0)) (end (match-end 0))) - (phps-mode/BEGIN phps-mode/ST_INITIAL) - (when phps-mode/PARSER_MODE - (phps-mode/RETURN_TOKEN ";" start end)) - (phps-mode/RETURN_TOKEN 'T_CLOSE_TAG start end))) + (phps-mode-lexer-BEGIN phps-mode-lexer-ST_INITIAL) + (when phps-mode-lexer-PARSER_MODE + (phps-mode-lexer-RETURN_TOKEN ";" start end)) + (phps-mode-lexer-RETURN_TOKEN 'T_CLOSE_TAG start end))) ;; HEREDOC and NOWDOC - ((looking-at (concat "<<<" phps-mode/TABS_AND_SPACES "\\(" phps-mode/LABEL "\\|'" phps-mode/LABEL "'\\|\"" phps-mode/LABEL "\"\\)" phps-mode/NEWLINE)) + ((looking-at (concat "<<<" phps-mode-lexer-TABS_AND_SPACES "\\(" phps-mode-lexer-LABEL "\\|'" phps-mode-lexer-LABEL "'\\|\"" phps-mode-lexer-LABEL "\"\\)" phps-mode-lexer-NEWLINE)) (let* ((start (match-beginning 0)) (end (match-end 0)) (data (buffer-substring-no-properties (match-beginning 1) (match-end 1))) @@ -557,222 +557,222 @@ (if (string= (substring data 0 1) "'") (progn (setq heredoc_label (substring data 1 (- (length data) 1))) - (phps-mode/BEGIN phps-mode/ST_NOWDOC)) + (phps-mode-lexer-BEGIN phps-mode-lexer-ST_NOWDOC)) (progn (if (string= (substring data 0 1) "\"") (setq heredoc_label (substring data 1 (- (length data) 1))) (setq heredoc_label data)) - (phps-mode/BEGIN phps-mode/ST_HEREDOC))) + (phps-mode-lexer-BEGIN phps-mode-lexer-ST_HEREDOC))) ;; Check for ending label on the next line (when (string= (buffer-substring-no-properties end (+ end (length heredoc_label))) heredoc_label) - (phps-mode/BEGIN phps-mode/ST_END_HEREDOC)) + (phps-mode-lexer-BEGIN phps-mode-lexer-ST_END_HEREDOC)) - (push heredoc_label phps-mode/heredoc_label_stack) + (push heredoc_label phps-mode-lexer-heredoc_label_stack) ;; (message "Found heredoc or nowdoc at %s with label %s" data heredoc_label) - (phps-mode/RETURN_TOKEN 'T_START_HEREDOC start end))) + (phps-mode-lexer-RETURN_TOKEN 'T_START_HEREDOC start end))) ((looking-at "::") - (phps-mode/RETURN_TOKEN 'T_PAAMAYIM_NEKUDOTAYIM (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_PAAMAYIM_NEKUDOTAYIM (match-beginning 0) (match-end 0))) ((looking-at "\\\\") - (phps-mode/RETURN_TOKEN 'T_NS_SEPARATOR (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_NS_SEPARATOR (match-beginning 0) (match-end 0))) ((looking-at "\\.\\.\\.") - (phps-mode/RETURN_TOKEN 'T_ELLIPSIS (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_ELLIPSIS (match-beginning 0) (match-end 0))) ((looking-at "\\?\\?") - (phps-mode/RETURN_TOKEN 'T_COALESCE (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_COALESCE (match-beginning 0) (match-end 0))) ((looking-at "new") - (phps-mode/RETURN_TOKEN 'T_NEW (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_NEW (match-beginning 0) (match-end 0))) ((looking-at "clone") - (phps-mode/RETURN_TOKEN 'T_CLONE (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_CLONE (match-beginning 0) (match-end 0))) ((looking-at "var") - (phps-mode/RETURN_TOKEN 'T_VAR (match-beginning 0) (match-end 0))) - ((looking-at (concat "(" phps-mode/TABS_AND_SPACES "\\(integer\\|int\\)" phps-mode/TABS_AND_SPACES ")")) - (phps-mode/RETURN_TOKEN 'T_INT_CAST (match-beginning 0) (match-end 0))) - ((looking-at (concat "(" phps-mode/TABS_AND_SPACES "\\(real\\|double\\|float\\)" phps-mode/TABS_AND_SPACES ")")) - (phps-mode/RETURN_TOKEN 'T_DOUBLE_CAST (match-beginning 0) (match-end 0))) - ((looking-at (concat "(" phps-mode/TABS_AND_SPACES "\\(string\\|binary\\)" phps-mode/TABS_AND_SPACES ")")) - (phps-mode/RETURN_TOKEN 'T_STRING_CAST (match-beginning 0) (match-end 0))) - ((looking-at (concat "(" phps-mode/TABS_AND_SPACES "array" phps-mode/TABS_AND_SPACES ")")) - (phps-mode/RETURN_TOKEN 'T_ARRAY_CAST (match-beginning 0) (match-end 0))) - ((looking-at (concat "(" phps-mode/TABS_AND_SPACES "object" phps-mode/TABS_AND_SPACES ")")) - (phps-mode/RETURN_TOKEN 'T_OBJECT_CAST (match-beginning 0) (match-end 0))) - ((looking-at (concat "(" phps-mode/TABS_AND_SPACES "\\(boolean\\|bool\\)" phps-mode/TABS_AND_SPACES ")")) - (phps-mode/RETURN_TOKEN 'T_BOOL_CAST (match-beginning 0) (match-end 0))) - ((looking-at (concat "(" phps-mode/TABS_AND_SPACES "unset" phps-mode/TABS_AND_SPACES ")")) - (phps-mode/RETURN_TOKEN 'T_UNSET_CAST (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_VAR (match-beginning 0) (match-end 0))) + ((looking-at (concat "(" phps-mode-lexer-TABS_AND_SPACES "\\(integer\\|int\\)" phps-mode-lexer-TABS_AND_SPACES ")")) + (phps-mode-lexer-RETURN_TOKEN 'T_INT_CAST (match-beginning 0) (match-end 0))) + ((looking-at (concat "(" phps-mode-lexer-TABS_AND_SPACES "\\(real\\|double\\|float\\)" phps-mode-lexer-TABS_AND_SPACES ")")) + (phps-mode-lexer-RETURN_TOKEN 'T_DOUBLE_CAST (match-beginning 0) (match-end 0))) + ((looking-at (concat "(" phps-mode-lexer-TABS_AND_SPACES "\\(string\\|binary\\)" phps-mode-lexer-TABS_AND_SPACES ")")) + (phps-mode-lexer-RETURN_TOKEN 'T_STRING_CAST (match-beginning 0) (match-end 0))) + ((looking-at (concat "(" phps-mode-lexer-TABS_AND_SPACES "array" phps-mode-lexer-TABS_AND_SPACES ")")) + (phps-mode-lexer-RETURN_TOKEN 'T_ARRAY_CAST (match-beginning 0) (match-end 0))) + ((looking-at (concat "(" phps-mode-lexer-TABS_AND_SPACES "object" phps-mode-lexer-TABS_AND_SPACES ")")) + (phps-mode-lexer-RETURN_TOKEN 'T_OBJECT_CAST (match-beginning 0) (match-end 0))) + ((looking-at (concat "(" phps-mode-lexer-TABS_AND_SPACES "\\(boolean\\|bool\\)" phps-mode-lexer-TABS_AND_SPACES ")")) + (phps-mode-lexer-RETURN_TOKEN 'T_BOOL_CAST (match-beginning 0) (match-end 0))) + ((looking-at (concat "(" phps-mode-lexer-TABS_AND_SPACES "unset" phps-mode-lexer-TABS_AND_SPACES ")")) + (phps-mode-lexer-RETURN_TOKEN 'T_UNSET_CAST (match-beginning 0) (match-end 0))) ((looking-at "eval") - (phps-mode/RETURN_TOKEN 'T_EVAL (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_EVAL (match-beginning 0) (match-end 0))) ((looking-at "include_once") - (phps-mode/RETURN_TOKEN 'T_INCLUDE_ONCE (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_INCLUDE_ONCE (match-beginning 0) (match-end 0))) ((looking-at "include") - (phps-mode/RETURN_TOKEN 'T_INCLUDE (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_INCLUDE (match-beginning 0) (match-end 0))) ((looking-at "require_once") - (phps-mode/RETURN_TOKEN 'T_REQUIRE_ONCE (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_REQUIRE_ONCE (match-beginning 0) (match-end 0))) ((looking-at "require") - (phps-mode/RETURN_TOKEN 'T_REQUIRE (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_REQUIRE (match-beginning 0) (match-end 0))) ((looking-at "namespace") - (setq phps-mode/declaring_namespace t) - (phps-mode/RETURN_TOKEN 'T_NAMESPACE (match-beginning 0) (match-end 0))) + (setq phps-mode-lexer-declaring_namespace t) + (phps-mode-lexer-RETURN_TOKEN 'T_NAMESPACE (match-beginning 0) (match-end 0))) ((looking-at "use") - (phps-mode/RETURN_TOKEN 'T_USE (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_USE (match-beginning 0) (match-end 0))) ((looking-at "insteadof") - (phps-mode/RETURN_TOKEN 'T_INSTEADOF (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_INSTEADOF (match-beginning 0) (match-end 0))) ((looking-at "global") - (phps-mode/RETURN_TOKEN 'T_GLOBAL (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_GLOBAL (match-beginning 0) (match-end 0))) ((looking-at "isset") - (phps-mode/RETURN_TOKEN 'T_ISSET (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_ISSET (match-beginning 0) (match-end 0))) ((looking-at "empty") - (phps-mode/RETURN_TOKEN 'T_EMPTY (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_EMPTY (match-beginning 0) (match-end 0))) ((looking-at "__halt_compiler") - (phps-mode/RETURN_TOKEN 'T_HALT_COMPILER (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_HALT_COMPILER (match-beginning 0) (match-end 0))) ((looking-at "static") - (phps-mode/RETURN_TOKEN 'T_STATIC (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_STATIC (match-beginning 0) (match-end 0))) ((looking-at "abstract") - (phps-mode/RETURN_TOKEN 'T_ABSTRACT (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_ABSTRACT (match-beginning 0) (match-end 0))) ((looking-at "final") - (phps-mode/RETURN_TOKEN 'T_FINAL (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_FINAL (match-beginning 0) (match-end 0))) ((looking-at "private") - (phps-mode/RETURN_TOKEN 'T_PRIVATE (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_PRIVATE (match-beginning 0) (match-end 0))) ((looking-at "protected") - (phps-mode/RETURN_TOKEN 'T_PROTECTED (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_PROTECTED (match-beginning 0) (match-end 0))) ((looking-at "public") - (phps-mode/RETURN_TOKEN 'T_PUBLIC (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_PUBLIC (match-beginning 0) (match-end 0))) ((looking-at "unset") - (phps-mode/RETURN_TOKEN 'T_UNSET (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_UNSET (match-beginning 0) (match-end 0))) ((looking-at "=>") - (phps-mode/RETURN_TOKEN 'T_DOUBLE_ARROW (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_DOUBLE_ARROW (match-beginning 0) (match-end 0))) ((looking-at "list") - (phps-mode/RETURN_TOKEN 'T_LIST (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_LIST (match-beginning 0) (match-end 0))) ((looking-at "array") - (phps-mode/RETURN_TOKEN 'T_ARRAY (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_ARRAY (match-beginning 0) (match-end 0))) ((looking-at "callable") - (phps-mode/RETURN_TOKEN 'T_CALLABLE (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_CALLABLE (match-beginning 0) (match-end 0))) ((looking-at "\\+\\+") - (phps-mode/RETURN_TOKEN 'T_INC (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_INC (match-beginning 0) (match-end 0))) ((looking-at "--") - (phps-mode/RETURN_TOKEN 'T_DEC (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_DEC (match-beginning 0) (match-end 0))) ((looking-at "===") - (phps-mode/RETURN_TOKEN 'T_IS_IDENTICAL (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_IS_IDENTICAL (match-beginning 0) (match-end 0))) ((looking-at "!==") - (phps-mode/RETURN_TOKEN 'T_IS_NOT_IDENTICAL (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_IS_NOT_IDENTICAL (match-beginning 0) (match-end 0))) ((looking-at "==") - (phps-mode/RETURN_TOKEN 'T_IS_EQUAL (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_IS_EQUAL (match-beginning 0) (match-end 0))) ((looking-at "\\(!=\\|<>\\)") - (phps-mode/RETURN_TOKEN 'T_IS_NOT_EQUAL (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_IS_NOT_EQUAL (match-beginning 0) (match-end 0))) ((looking-at "<=>") - (phps-mode/RETURN_TOKEN 'T_SPACESHIP (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_SPACESHIP (match-beginning 0) (match-end 0))) ((looking-at "<=") - (phps-mode/RETURN_TOKEN 'T_IS_SMALLER_OR_EQUAL (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_IS_SMALLER_OR_EQUAL (match-beginning 0) (match-end 0))) ((looking-at ">=") - (phps-mode/RETURN_TOKEN 'T_IS_GREATER_OR_EQUAL (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_IS_GREATER_OR_EQUAL (match-beginning 0) (match-end 0))) ((looking-at "\\+=") - (phps-mode/RETURN_TOKEN 'T_PLUS_EQUAL (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_PLUS_EQUAL (match-beginning 0) (match-end 0))) ((looking-at "-=") - (phps-mode/RETURN_TOKEN 'T_MINUS_EQUAL (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_MINUS_EQUAL (match-beginning 0) (match-end 0))) ((looking-at "\\*=") - (phps-mode/RETURN_TOKEN 'T_MUL_EQUAL (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_MUL_EQUAL (match-beginning 0) (match-end 0))) ((looking-at "\\*\\\\\\*=") - (phps-mode/RETURN_TOKEN 'T_POW_EQUAL (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_POW_EQUAL (match-beginning 0) (match-end 0))) ((looking-at "\\*\\\\\\*") - (phps-mode/RETURN_TOKEN 'T_POW (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_POW (match-beginning 0) (match-end 0))) ((looking-at "/=") - (phps-mode/RETURN_TOKEN 'T_DIV_EQUAL (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_DIV_EQUAL (match-beginning 0) (match-end 0))) ((looking-at "\\.=") - (phps-mode/RETURN_TOKEN 'T_CONCAT_EQUAL (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_CONCAT_EQUAL (match-beginning 0) (match-end 0))) ((looking-at "%=") - (phps-mode/RETURN_TOKEN 'T_MOD_EQUAL (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_MOD_EQUAL (match-beginning 0) (match-end 0))) ((looking-at "<<=") - (phps-mode/RETURN_TOKEN 'T_SL_EQUAL (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_SL_EQUAL (match-beginning 0) (match-end 0))) ((looking-at ">>=") - (phps-mode/RETURN_TOKEN 'T_SR_EQUAL (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_SR_EQUAL (match-beginning 0) (match-end 0))) ((looking-at "&=") - (phps-mode/RETURN_TOKEN 'T_AND_EQUAL (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_AND_EQUAL (match-beginning 0) (match-end 0))) ((looking-at "|=") - (phps-mode/RETURN_TOKEN 'T_OR_EQUAL (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_OR_EQUAL (match-beginning 0) (match-end 0))) ((looking-at "\\^=") - (phps-mode/RETURN_TOKEN 'T_XOR_EQUAL (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_XOR_EQUAL (match-beginning 0) (match-end 0))) ((looking-at "||") - (phps-mode/RETURN_TOKEN 'T_BOOLEAN_OR (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_BOOLEAN_OR (match-beginning 0) (match-end 0))) ((looking-at "&&") - (phps-mode/RETURN_TOKEN 'T_BOOLEAN_AND (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_BOOLEAN_AND (match-beginning 0) (match-end 0))) ((looking-at "XOR") - (phps-mode/RETURN_TOKEN 'T_LOGICAL_XOR (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_LOGICAL_XOR (match-beginning 0) (match-end 0))) ((looking-at "OR") - (phps-mode/RETURN_TOKEN 'T_LOGICAL_OR (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_LOGICAL_OR (match-beginning 0) (match-end 0))) ((looking-at "AND") - (phps-mode/RETURN_TOKEN 'T_LOGICAL_AND (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_LOGICAL_AND (match-beginning 0) (match-end 0))) ((looking-at "<<") - (phps-mode/RETURN_TOKEN 'T_SL (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_SL (match-beginning 0) (match-end 0))) ((looking-at ">>") - (phps-mode/RETURN_TOKEN 'T_SR (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_SR (match-beginning 0) (match-end 0))) ((looking-at "{") - (phps-mode/yy_push_state phps-mode/ST_IN_SCRIPTING) - (when phps-mode/declaring_namespace - (setq phps-mode/declaring_namespace nil)) - (phps-mode/RETURN_TOKEN "{" (match-beginning 0) (match-end 0))) + (phps-mode-lexer-yy_push_state phps-mode-lexer-ST_IN_SCRIPTING) + (when phps-mode-lexer-declaring_namespace + (setq phps-mode-lexer-declaring_namespace nil)) + (phps-mode-lexer-RETURN_TOKEN "{" (match-beginning 0) (match-end 0))) ((looking-at "}") - (when phps-mode/state_stack - ;; (message "State stack %s" phps-mode/state_stack) - ;; (message "popping state from } %s" (length phps-mode/state_stack)) - (phps-mode/yy_pop_state)) - (phps-mode/RETURN_TOKEN "}" (match-beginning 0) (match-end 0))) + (when phps-mode-lexer-state_stack + ;; (message "State stack %s" phps-mode-lexer-state_stack) + ;; (message "popping state from } %s" (length phps-mode-lexer-state_stack)) + (phps-mode-lexer-yy_pop_state)) + (phps-mode-lexer-RETURN_TOKEN "}" (match-beginning 0) (match-end 0))) - ((looking-at phps-mode/BNUM) + ((looking-at phps-mode-lexer-BNUM) (let* ((start (match-beginning 0)) (end (match-end 0)) (data (buffer-substring-no-properties (+ start 2) end)) (long-number (string-to-number data 2))) ;; (message "Binary number %s from %s" long-number data) - (if (> long-number phps-mode/long-limit) - (phps-mode/RETURN_TOKEN 'T_DNUMBER start end) - (phps-mode/RETURN_TOKEN 'T_LNUMBER start end)))) + (if (> long-number phps-mode-lexer-long-limit) + (phps-mode-lexer-RETURN_TOKEN 'T_DNUMBER start end) + (phps-mode-lexer-RETURN_TOKEN 'T_LNUMBER start end)))) - ((looking-at phps-mode/HNUM) + ((looking-at phps-mode-lexer-HNUM) (let* ((start (match-beginning 0)) (end (match-end 0)) (data (buffer-substring-no-properties (+ start 2) end)) (long-number (string-to-number data 16))) ;; (message "Hexadecimal number %s from %s" long-number data) - (if (> long-number phps-mode/long-limit) - (phps-mode/RETURN_TOKEN 'T_DNUMBER start end) - (phps-mode/RETURN_TOKEN 'T_LNUMBER start end)))) + (if (> long-number phps-mode-lexer-long-limit) + (phps-mode-lexer-RETURN_TOKEN 'T_DNUMBER start end) + (phps-mode-lexer-RETURN_TOKEN 'T_LNUMBER start end)))) - ((or (looking-at phps-mode/EXPONENT_DNUM) - (looking-at phps-mode/DNUM)) + ((or (looking-at phps-mode-lexer-EXPONENT_DNUM) + (looking-at phps-mode-lexer-DNUM)) (let* ((start (match-beginning 0)) (end (match-end 0)) (data (buffer-substring-no-properties start end))) ;; (message "Exponent/double at: %s" data) - (phps-mode/RETURN_TOKEN 'T_DNUMBER start end))) + (phps-mode-lexer-RETURN_TOKEN 'T_DNUMBER start end))) - ((looking-at phps-mode/LNUM) + ((looking-at phps-mode-lexer-LNUM) (let* ((start (match-beginning 0)) (end (match-end 0)) (data (string-to-number (buffer-substring-no-properties start end)))) ;; (message "Long number: %d" data) - (if (> data phps-mode/long-limit) - (phps-mode/RETURN_TOKEN 'T_DNUMBER start end) - (phps-mode/RETURN_TOKEN 'T_LNUMBER start end)))) + (if (> data phps-mode-lexer-long-limit) + (phps-mode-lexer-RETURN_TOKEN 'T_DNUMBER start end) + (phps-mode-lexer-RETURN_TOKEN 'T_LNUMBER start end)))) ((looking-at "__CLASS__") - (phps-mode/RETURN_TOKEN 'T_CLASS_C (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_CLASS_C (match-beginning 0) (match-end 0))) ((looking-at "__TRAIT__") - (phps-mode/RETURN_TOKEN 'T_TRAIT_C (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_TRAIT_C (match-beginning 0) (match-end 0))) ((looking-at "__FUNCTION__") - (phps-mode/RETURN_TOKEN 'T_FUNC_C (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_FUNC_C (match-beginning 0) (match-end 0))) ((looking-at "__METHOD__") - (phps-mode/RETURN_TOKEN 'T_METHOD_C (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_METHOD_C (match-beginning 0) (match-end 0))) ((looking-at "__LINE__") - (phps-mode/RETURN_TOKEN 'T_LINE (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_LINE (match-beginning 0) (match-end 0))) ((looking-at "__FILE__") - (phps-mode/RETURN_TOKEN 'T_FILE (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_FILE (match-beginning 0) (match-end 0))) ((looking-at "__DIR__") - (phps-mode/RETURN_TOKEN 'T_DIR (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_DIR (match-beginning 0) (match-end 0))) ((looking-at "__NAMESPACE__") - (phps-mode/RETURN_TOKEN 'T_NS_C (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_NS_C (match-beginning 0) (match-end 0))) ((looking-at "\\(//\\|#\\)") (let* ((start (match-beginning 0)) @@ -782,15 +782,15 @@ (if (string-match "\\?>" line) (progn ;; (message "Found comment 1 from %s to %s %s in %s" end (+ end (match-beginning 0)) (match-beginning 0) line) - (phps-mode/RETURN_TOKEN 'T_COMMENT start (+ end (match-beginning 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_COMMENT start (+ end (match-beginning 0))) ) (progn ;; TODO Handle expecting values here ;; (message "Found comment 2 from %s to %s" start (line-end-position)) - (phps-mode/RETURN_TOKEN 'T_COMMENT start (line-end-position)) + (phps-mode-lexer-RETURN_TOKEN 'T_COMMENT start (line-end-position)) )))) - ((looking-at (concat "/\\*\\*" phps-mode/WHITESPACE)) + ((looking-at (concat "/\\*\\*" phps-mode-lexer-WHITESPACE)) (let* ((start (match-beginning 0)) (end (match-end 0)) (data (buffer-substring-no-properties start end))) @@ -800,8 +800,8 @@ (setq position string-start) (progn (setq position (point-max)) - (phps-mode/MOVE_FORWARD (point-max)))) - (phps-mode/RETURN_TOKEN 'T_DOC_COMMENT start position) + (phps-mode-lexer-MOVE_FORWARD (point-max)))) + (phps-mode-lexer-RETURN_TOKEN 'T_DOC_COMMENT start position) ))) ((looking-at "/\\*") @@ -814,31 +814,31 @@ (setq position string-start) (progn (setq position (point-max)) - (phps-mode/MOVE_FORWARD (point-max)))) - (phps-mode/RETURN_TOKEN 'T_COMMENT start position) + (phps-mode-lexer-MOVE_FORWARD (point-max)))) + (phps-mode-lexer-RETURN_TOKEN 'T_COMMENT start position) ))) - ((looking-at (concat "\\$" phps-mode/LABEL)) + ((looking-at (concat "\\$" phps-mode-lexer-LABEL)) (let ((start (match-beginning 0)) (end (match-end 0))) - (phps-mode/RETURN_TOKEN 'T_VARIABLE start end))) + (phps-mode-lexer-RETURN_TOKEN 'T_VARIABLE start end))) - ((looking-at phps-mode/TOKENS) + ((looking-at phps-mode-lexer-TOKENS) (let* ((start (match-beginning 0)) (end (match-end 0)) (data (buffer-substring-no-properties start end)) (use-brace nil)) ;; (message "Found token '%s'" data) - (when phps-mode/declaring_namespace + (when phps-mode-lexer-declaring_namespace (when (string= data ";") - (setq phps-mode/prepend_trailing_brace t) + (setq phps-mode-lexer-prepend_trailing_brace t) ;; (message "Set flag prepend trailing brace") ;; (setq use-brace t) ) - (setq phps-mode/declaring_namespace nil)) + (setq phps-mode-lexer-declaring_namespace nil)) (if use-brace - (phps-mode/RETURN_TOKEN "{" start end) - (phps-mode/RETURN_TOKEN data start end)))) + (phps-mode-lexer-RETURN_TOKEN "{" start end) + (phps-mode-lexer-RETURN_TOKEN data start end)))) ((looking-at "'") (let* ((start (match-beginning 0)) @@ -849,12 +849,12 @@ (if un-escaped-end (progn ;; (message "Single quoted string %s" (buffer-substring-no-properties start un-escaped-end)) - (phps-mode/RETURN_TOKEN 'T_CONSTANT_ENCAPSED_STRING start un-escaped-end)) + (phps-mode-lexer-RETURN_TOKEN 'T_CONSTANT_ENCAPSED_STRING start un-escaped-end)) (progn ;; Unclosed single quotes ;; (message "Single quoted string never ends..") - (phps-mode/RETURN_TOKEN 'T_ENCAPSED_AND_WHITESPACE start (point-max)) - (phps-mode/MOVE_FORWARD (point-max)) + (phps-mode-lexer-RETURN_TOKEN 'T_ENCAPSED_AND_WHITESPACE start (point-max)) + (phps-mode-lexer-MOVE_FORWARD (point-max)) )))) ;; Double quoted string @@ -867,13 +867,13 @@ (if (looking-at-p "\"") (progn ;; (message "Empty double quoted string from %s to %s" start (+ start 2)) - (phps-mode/RETURN_TOKEN 'T_CONSTANT_ENCAPSED_STRING start (+ start 2)) + (phps-mode-lexer-RETURN_TOKEN 'T_CONSTANT_ENCAPSED_STRING start (+ start 2)) (forward-char)) (let ((string-start (search-forward-regexp (concat "\\([^\\\\]\"" - "\\|\\$" phps-mode/LABEL - "\\|\\${" phps-mode/LABEL - "\\|{\\$" phps-mode/LABEL "\\)") + "\\|\\$" phps-mode-lexer-LABEL + "\\|\\${" phps-mode-lexer-LABEL + "\\|{\\$" phps-mode-lexer-LABEL "\\)") nil t))) ;; Do we find a ending double quote or starting variable? (if string-start @@ -885,85 +885,85 @@ (progn (let ((double-quoted-string (buffer-substring-no-properties start (+ string-start 2)))) ;; (message "Double quoted string: %s" double-quoted-string) - (phps-mode/RETURN_TOKEN 'T_CONSTANT_ENCAPSED_STRING start (+ string-start 2)))) + (phps-mode-lexer-RETURN_TOKEN 'T_CONSTANT_ENCAPSED_STRING start (+ string-start 2)))) (progn ;; (message "Found variable after '%s'" (buffer-substring-no-properties start string-start)) - (phps-mode/BEGIN phps-mode/ST_DOUBLE_QUOTES) - (phps-mode/RETURN_TOKEN "\"" start (+ start 1)) - (phps-mode/RETURN_TOKEN 'T_ENCAPSED_AND_WHITESPACE (+ start 1) string-start)))) + (phps-mode-lexer-BEGIN phps-mode-lexer-ST_DOUBLE_QUOTES) + (phps-mode-lexer-RETURN_TOKEN "\"" start (+ start 1)) + (phps-mode-lexer-RETURN_TOKEN 'T_ENCAPSED_AND_WHITESPACE (+ start 1) string-start)))) (progn ;; (message "Found no ending quote, skipping to end") - (phps-mode/RETURN_TOKEN 'T_ERROR start (point-max)) - (phps-mode/MOVE_FORWARD (point-max)))))))) + (phps-mode-lexer-RETURN_TOKEN 'T_ERROR start (point-max)) + (phps-mode-lexer-MOVE_FORWARD (point-max)))))))) ((looking-at "[`]") ;; (message "Begun backquote at %s-%s" (match-beginning 0) (match-end 0)) - (phps-mode/BEGIN phps-mode/ST_BACKQUOTE) - (phps-mode/RETURN_TOKEN "`" (match-beginning 0) (match-end 0))) + (phps-mode-lexer-BEGIN phps-mode-lexer-ST_BACKQUOTE) + (phps-mode-lexer-RETURN_TOKEN "`" (match-beginning 0) (match-end 0))) - ((looking-at phps-mode/WHITESPACE) + ((looking-at phps-mode-lexer-WHITESPACE) (let* ((start (match-beginning 0)) (end (match-end 0)) (data (buffer-substring-no-properties start end))) - (if phps-mode/PARSER_MODE - (phps-mode/MOVE_FORWARD end) - (phps-mode/RETURN_TOKEN data start end)))) + (if phps-mode-lexer-PARSER_MODE + (phps-mode-lexer-MOVE_FORWARD end) + (phps-mode-lexer-RETURN_TOKEN data start end)))) - ((looking-at phps-mode/LABEL) - (phps-mode/RETURN_TOKEN 'T_STRING (match-beginning 0) (match-end 0))) + ((looking-at phps-mode-lexer-LABEL) + (phps-mode-lexer-RETURN_TOKEN 'T_STRING (match-beginning 0) (match-end 0))) - ((looking-at phps-mode/TOKENS) - (phps-mode/RETURN_TOKEN (match-string 0) (match-beginning 0) (match-end 0))) + ((looking-at phps-mode-lexer-TOKENS) + (phps-mode-lexer-RETURN_TOKEN (match-string 0) (match-beginning 0) (match-end 0))) - ((looking-at phps-mode/ANY_CHAR) + ((looking-at phps-mode-lexer-ANY_CHAR) ;; Unexpected character ;; (message "Unexpected character '%s'" (buffer-substring-no-properties (match-beginning 0) (match-end 0))) - (phps-mode/RETURN_TOKEN 'T_ERROR (match-beginning 0) (point-max)) - (phps-mode/MOVE_FORWARD (point-max))) + (phps-mode-lexer-RETURN_TOKEN 'T_ERROR (match-beginning 0) (point-max)) + (phps-mode-lexer-MOVE_FORWARD (point-max))) )) -(define-lex-analyzer phps-mode/lex--ST_LOOKING_FOR_PROPERTY " +(define-lex-analyzer phps-mode-lexer-lex--ST_LOOKING_FOR_PROPERTY " {WHITESPACE}+ -> {LABEL} {ANY_CHAR} " - (= phps-mode/STATE phps-mode/ST_LOOKING_FOR_PROPERTY) + (= phps-mode-lexer-STATE phps-mode-lexer-ST_LOOKING_FOR_PROPERTY) (cond - ((looking-at phps-mode/WHITESPACE) + ((looking-at phps-mode-lexer-WHITESPACE) (let* ((start (match-beginning 0)) (end (match-end 0)) (data (buffer-substring-no-properties start end))) - (if phps-mode/PARSER_MODE - (phps-mode/MOVE_FORWARD end) - (phps-mode/RETURN_TOKEN 'T_WHITESPACE start end)) + (if phps-mode-lexer-PARSER_MODE + (phps-mode-lexer-MOVE_FORWARD end) + (phps-mode-lexer-RETURN_TOKEN 'T_WHITESPACE start end)) )) ((looking-at "->") - (phps-mode/RETURN_TOKEN 'T_OBJECT_OPERATOR (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN 'T_OBJECT_OPERATOR (match-beginning 0) (match-end 0))) - ((looking-at phps-mode/LABEL) + ((looking-at phps-mode-lexer-LABEL) (let ((start (match-beginning 0)) (end (match-end 0))) - (phps-mode/yy_pop_state) - (phps-mode/RETURN_TOKEN 'T_STRING start end) + (phps-mode-lexer-yy_pop_state) + (phps-mode-lexer-RETURN_TOKEN 'T_STRING start end) )) - ((looking-at phps-mode/ANY_CHAR) + ((looking-at phps-mode-lexer-ANY_CHAR) (let ((start (match-beginning 0)) (end (match-end 0))) - (phps-mode/yy_pop_state) + (phps-mode-lexer-yy_pop_state) ;; TODO goto restart here? ;; (message "Restart here") - (phps-mode/MOVE_FORWARD end) + (phps-mode-lexer-MOVE_FORWARD end) )) )) -(define-lex-analyzer phps-mode/lex--ST_DOUBLE_QUOTES " +(define-lex-analyzer phps-mode-lexer-lex--ST_DOUBLE_QUOTES " <ST_DOUBLE_QUOTES> \"${\" \"$\"{LABEL}\"->\"[a-zA-Z_\x80-\xff] @@ -973,60 +973,60 @@ [\"] {ANY_CHAR} " - (= phps-mode/STATE phps-mode/ST_DOUBLE_QUOTES) + (= phps-mode-lexer-STATE phps-mode-lexer-ST_DOUBLE_QUOTES) (cond ((looking-at "\\${") - (phps-mode/yy_push_state phps-mode/ST_LOOKING_FOR_VARNAME) - (phps-mode/RETURN_TOKEN 'T_DOLLAR_OPEN_CURLY_BRACES (match-beginning 0) (match-end 0))) + (phps-mode-lexer-yy_push_state phps-mode-lexer-ST_LOOKING_FOR_VARNAME) + (phps-mode-lexer-RETURN_TOKEN 'T_DOLLAR_OPEN_CURLY_BRACES (match-beginning 0) (match-end 0))) - ((looking-at (concat "\\$" phps-mode/LABEL "->" "[a-zA-Z_\x80-\xff]")) - (phps-mode/yy_push_state phps-mode/ST_LOOKING_FOR_PROPERTY) + ((looking-at (concat "\\$" phps-mode-lexer-LABEL "->" "[a-zA-Z_\x80-\xff]")) + (phps-mode-lexer-yy_push_state phps-mode-lexer-ST_LOOKING_FOR_PROPERTY) (forward-char -3) - (phps-mode/RETURN_TOKEN 'T_VARIABLE (match-beginning 0) (- (match-end 0) 3))) + (phps-mode-lexer-RETURN_TOKEN 'T_VARIABLE (match-beginning 0) (- (match-end 0) 3))) - ((looking-at (concat "\\$" phps-mode/LABEL "\\[")) - (phps-mode/yy_push_state phps-mode/ST_VAR_OFFSET) - (phps-mode/RETURN_TOKEN 'T_VARIABLE (match-beginning 0) (match-end 0))) + ((looking-at (concat "\\$" phps-mode-lexer-LABEL "\\[")) + (phps-mode-lexer-yy_push_state phps-mode-lexer-ST_VAR_OFFSET) + (phps-mode-lexer-RETURN_TOKEN 'T_VARIABLE (match-beginning 0) (match-end 0))) - ((looking-at (concat "\\$" phps-mode/LABEL)) - (phps-mode/RETURN_TOKEN 'T_VARIABLE (match-beginning 0) (match-end 0))) + ((looking-at (concat "\\$" phps-mode-lexer-LABEL)) + (phps-mode-lexer-RETURN_TOKEN 'T_VARIABLE (match-beginning 0) (match-end 0))) ((looking-at "{\\$") - (phps-mode/yy_push_state phps-mode/ST_IN_SCRIPTING) - (phps-mode/RETURN_TOKEN 'T_CURLY_OPEN (match-beginning 0) (- (match-end 0) 1))) + (phps-mode-lexer-yy_push_state phps-mode-lexer-ST_IN_SCRIPTING) + (phps-mode-lexer-RETURN_TOKEN 'T_CURLY_OPEN (match-beginning 0) (- (match-end 0) 1))) ((looking-at "[\"]") - (phps-mode/BEGIN phps-mode/ST_IN_SCRIPTING) + (phps-mode-lexer-BEGIN phps-mode-lexer-ST_IN_SCRIPTING) ;; (message "Ended double-quote at %s" (match-beginning 0)) - (phps-mode/RETURN_TOKEN "\"" (match-beginning 0) (match-end 0))) + (phps-mode-lexer-RETURN_TOKEN "\"" (match-beginning 0) (match-end 0))) - ((looking-at phps-mode/ANY_CHAR) + ((looking-at phps-mode-lexer-ANY_CHAR) (let ((start (point))) (let ((string-start (search-forward-regexp "[^\\\\]\"" nil t))) (if string-start (let* ((end (- (match-end 0) 1)) (double-quoted-string (buffer-substring-no-properties start end))) ;; Do we find variable inside quote? - (if (or (string-match (concat "\\$" phps-mode/LABEL) double-quoted-string) - (string-match (concat "\\${" phps-mode/LABEL) double-quoted-string) - (string-match (concat "{\\$" phps-mode/LABEL) double-quoted-string)) + (if (or (string-match (concat "\\$" phps-mode-lexer-LABEL) double-quoted-string) + (string-match (concat "\\${" phps-mode-lexer-LABEL) double-quoted-string) + (string-match (concat "{\\$" phps-mode-lexer-LABEL) double-quoted-string)) (progn (let ((variable-start (+ start (match-beginning 0)))) - (phps-mode/RETURN_TOKEN 'T_CONSTANT_ENCAPSED_STRING start variable-start) + (phps-mode-lexer-RETURN_TOKEN 'T_CONSTANT_ENCAPSED_STRING start variable-start) )) (progn - (phps-mode/RETURN_TOKEN 'T_CONSTANT_ENCAPSED_STRING start end) + (phps-mode-lexer-RETURN_TOKEN 'T_CONSTANT_ENCAPSED_STRING start end) ;; (message "Found end of quote at %s-%s, moving ahead after '%s'" start end (buffer-substring-no-properties start end)) ))) (progn ;; "Found no end of double-quoted region - (phps-mode/RETURN_TOKEN 'T_ERROR start (point-max)) - (phps-mode/MOVE_FORWARD (point-max))))))) + (phps-mode-lexer-RETURN_TOKEN 'T_ERROR start (point-max)) + (phps-mode-lexer-MOVE_FORWARD (point-max))))))) )) -(define-lex-analyzer phps-mode/lex--ST_BACKQUOTE " +(define-lex-analyzer phps-mode-lexer-lex--ST_BACKQUOTE " \"{$\" \"$\"{LABEL}\"->\"[a-zA-Z_\x80-\xff] \"$\"{LABEL}\"[\" @@ -1035,49 +1035,49 @@ ` ANY_CHAR' " - (= phps-mode/STATE phps-mode/ST_BACKQUOTE) + (= phps-mode-lexer-STATE phps-mode-lexer-ST_BACKQUOTE) (let ((old-start (point))) (cond ((looking-at "\\${") - (phps-mode/yy_push_state phps-mode/ST_LOOKING_FOR_VARNAME) - (phps-mode/RETURN_TOKEN 'T_DOLLAR_OPEN_CURLY_BRACES (match-beginning 0) (match-end 0))) + (phps-mode-lexer-yy_push_state phps-mode-lexer-ST_LOOKING_FOR_VARNAME) + (phps-mode-lexer-RETURN_TOKEN 'T_DOLLAR_OPEN_CURLY_BRACES (match-beginning 0) (match-end 0))) - ((looking-at (concat "\\$" phps-mode/LABEL "->" "[a-zA-Z_\x80-\xff]")) - (phps-mode/yy_push_state phps-mode/ST_LOOKING_FOR_PROPERTY) + ((looking-at (concat "\\$" phps-mode-lexer-LABEL "->" "[a-zA-Z_\x80-\xff]")) + (phps-mode-lexer-yy_push_state phps-mode-lexer-ST_LOOKING_FOR_PROPERTY) (forward-char -3) - (phps-mode/RETURN_TOKEN 'T_VARIABLE (match-beginning 0) (- (match-end 0) 3))) + (phps-mode-lexer-RETURN_TOKEN 'T_VARIABLE (match-beginning 0) (- (match-end 0) 3))) - ((looking-at (concat "\\$" phps-mode/LABEL "\\[")) - (phps-mode/yy_push_state phps-mode/ST_VAR_OFFSET) - (phps-mode/RETURN_TOKEN 'T_VARIABLE (match-beginning 0) (match-end 0))) + ((looking-at (concat "\\$" phps-mode-lexer-LABEL "\\[")) + (phps-mode-lexer-yy_push_state phps-mode-lexer-ST_VAR_OFFSET) + (phps-mode-lexer-RETURN_TOKEN 'T_VARIABLE (match-beginning 0) (match-end 0))) - ((looking-at (concat "\\$" phps-mode/LABEL)) - (phps-mode/RETURN_TOKEN 'T_VARIABLE (match-beginning 0) (match-end 0))) + ((looking-at (concat "\\$" phps-mode-lexer-LABEL)) + (phps-mode-lexer-RETURN_TOKEN 'T_VARIABLE (match-beginning 0) (match-end 0))) ((looking-at "{\\$") - (phps-mode/yy_push_state phps-mode/ST_IN_SCRIPTING) - (phps-mode/RETURN_TOKEN 'T_CURLY_OPEN (match-beginning 0) (- (match-end 0) 1))) + (phps-mode-lexer-yy_push_state phps-mode-lexer-ST_IN_SCRIPTING) + (phps-mode-lexer-RETURN_TOKEN 'T_CURLY_OPEN (match-beginning 0) (- (match-end 0) 1))) ((looking-at "[`]") - (phps-mode/BEGIN phps-mode/ST_IN_SCRIPTING) - (phps-mode/RETURN_TOKEN "`" (match-beginning 0) (match-end 0))) + (phps-mode-lexer-BEGIN phps-mode-lexer-ST_IN_SCRIPTING) + (phps-mode-lexer-RETURN_TOKEN "`" (match-beginning 0) (match-end 0))) - ((looking-at phps-mode/ANY_CHAR) + ((looking-at phps-mode-lexer-ANY_CHAR) (let ((string-start (search-forward-regexp "\\([^\\\\]`\\|\\$\\|{\\)" nil t))) (if string-start (let ((start (- (match-end 0) 1))) ;; (message "Skipping backquote forward over %s" (buffer-substring-no-properties old-start start)) - (phps-mode/RETURN_TOKEN 'T_CONSTANT_ENCAPSED_STRING old-start start) + (phps-mode-lexer-RETURN_TOKEN 'T_CONSTANT_ENCAPSED_STRING old-start start) ) (progn ;; (message "Found no end of backquote.. skipping to end from %s" (buffer-substring-no-properties (point) (point-max))) - (phps-mode/RETURN_TOKEN 'T_ERROR old-start (point-max)) - (phps-mode/MOVE_FORWARD (point-max)))))) + (phps-mode-lexer-RETURN_TOKEN 'T_ERROR old-start (point-max)) + (phps-mode-lexer-MOVE_FORWARD (point-max)))))) ))) -(define-lex-analyzer phps-mode/lex--ST_HEREDOC " +(define-lex-analyzer phps-mode-lexer-lex--ST_HEREDOC " \"{$\" \"$\"{LABEL}\"->\"[a-zA-Z_\x80-\xff] \"$\"{LABEL}\"[\" @@ -1086,36 +1086,36 @@ ANY_CHAR' ` ANY_CHAR' " - (= phps-mode/STATE phps-mode/ST_HEREDOC) + (= phps-mode-lexer-STATE phps-mode-lexer-ST_HEREDOC) - (let ((heredoc_label (car phps-mode/heredoc_label_stack)) + (let ((heredoc_label (car phps-mode-lexer-heredoc_label_stack)) (old-start (point))) (cond ((looking-at "\\${") - (phps-mode/yy_push_state phps-mode/ST_LOOKING_FOR_VARNAME) - (phps-mode/RETURN_TOKEN 'T_DOLLAR_OPEN_CURLY_BRACES (match-beginning 0) (match-end 0))) + (phps-mode-lexer-yy_push_state phps-mode-lexer-ST_LOOKING_FOR_VARNAME) + (phps-mode-lexer-RETURN_TOKEN 'T_DOLLAR_OPEN_CURLY_BRACES (match-beginning 0) (match-end 0))) - ((looking-at (concat "\\$" phps-mode/LABEL "->" "[a-zA-Z_\x80-\xff]")) - (phps-mode/yy_push_state phps-mode/ST_LOOKING_FOR_PROPERTY) + ((looking-at (concat "\\$" phps-mode-lexer-LABEL "->" "[a-zA-Z_\x80-\xff]")) + (phps-mode-lexer-yy_push_state phps-mode-lexer-ST_LOOKING_FOR_PROPERTY) (forward-char -3) - (phps-mode/RETURN_TOKEN 'T_VARIABLE (match-beginning 0) (- (match-end 0) 3))) + (phps-mode-lexer-RETURN_TOKEN 'T_VARIABLE (match-beginning 0) (- (match-end 0) 3))) - ((looking-at (concat "\\$" phps-mode/LABEL "\\[")) - (phps-mode/yy_push_state phps-mode/ST_VAR_OFFSET) - (phps-mode/RETURN_TOKEN 'T_VARIABLE (match-beginning 0) (match-end 0))) + ((looking-at (concat "\\$" phps-mode-lexer-LABEL "\\[")) + (phps-mode-lexer-yy_push_state phps-mode-lexer-ST_VAR_OFFSET) + (phps-mode-lexer-RETURN_TOKEN 'T_VARIABLE (match-beginning 0) (match-end 0))) - ((looking-at (concat "\\$" phps-mode/LABEL)) - (phps-mode/RETURN_TOKEN 'T_VARIABLE (match-beginning 0) (match-end 0))) + ((looking-at (concat "\\$" phps-mode-lexer-LABEL)) + (phps-mode-lexer-RETURN_TOKEN 'T_VARIABLE (match-beginning 0) (match-end 0))) ((looking-at (concat "{\\$")) - (phps-mode/yy_push_state phps-mode/ST_IN_SCRIPTING) - (phps-mode/RETURN_TOKEN 'T_CURLY_OPEN (match-beginning 0) (- (match-end 0) 1))) + (phps-mode-lexer-yy_push_state phps-mode-lexer-ST_IN_SCRIPTING) + (phps-mode-lexer-RETURN_TOKEN 'T_CURLY_OPEN (match-beginning 0) (- (match-end 0) 1))) - ((looking-at phps-mode/ANY_CHAR) + ((looking-at phps-mode-lexer-ANY_CHAR) ;; (message "Found nothing useful at '%s' looking at {$ %s" (buffer-substring-no-properties (point) (point-max)) (looking-at "{\\$")) ;; Check for $, ${ and {$ forward - (let ((string-start (search-forward-regexp (concat "\\(\n" heredoc_label ";?\n\\|\\$" phps-mode/LABEL "\\|{\\$" phps-mode/LABEL "\\|\\${" phps-mode/LABEL "\\)") nil t))) + (let ((string-start (search-forward-regexp (concat "\\(\n" heredoc_label ";?\n\\|\\$" phps-mode-lexer-LABEL "\\|{\\$" phps-mode-lexer-LABEL "\\|\\${" phps-mode-lexer-LABEL "\\)") nil t))) (if string-start (let* ((start (match-beginning 0)) (end (match-end 0)) @@ -1126,33 +1126,33 @@ ANY_CHAR' ((string-match (concat "\n" heredoc_label ";?\n") data) ;, (message "Found heredoc end at %s-%s" start end) - (phps-mode/BEGIN phps-mode/ST_END_HEREDOC) - (phps-mode/RETURN_TOKEN 'T_ENCAPSED_AND_WHITESPACE old-start start)) + (phps-mode-lexer-BEGIN phps-mode-lexer-ST_END_HEREDOC) + (phps-mode-lexer-RETURN_TOKEN 'T_ENCAPSED_AND_WHITESPACE old-start start)) (t ;; (message "Found variable at '%s'.. Skipping forward to %s" data start) - (phps-mode/RETURN_TOKEN 'T_ENCAPSED_AND_WHITESPACE old-start start) + (phps-mode-lexer-RETURN_TOKEN 'T_ENCAPSED_AND_WHITESPACE old-start start) ) )) (progn ;; (message "Found no ending of heredoc at %s '%s'" heredoc_label (buffer-substring-no-properties (point) (point-max))) - (phps-mode/RETURN_TOKEN 'T_ERROR old-start (point-max)) - (phps-mode/MOVE_FORWARD (point-max)) + (phps-mode-lexer-RETURN_TOKEN 'T_ERROR old-start (point-max)) + (phps-mode-lexer-MOVE_FORWARD (point-max)) )))) ))) -(define-lex-analyzer phps-mode/lex--ST_NOWDOC " +(define-lex-analyzer phps-mode-lexer-lex--ST_NOWDOC " ANY_CHAR' " - (= phps-mode/STATE phps-mode/ST_NOWDOC) + (= phps-mode-lexer-STATE phps-mode-lexer-ST_NOWDOC) - (let ((heredoc_label (car phps-mode/heredoc_label_stack)) + (let ((heredoc_label (car phps-mode-lexer-heredoc_label_stack)) (old-start (point))) (cond - ((looking-at phps-mode/ANY_CHAR) + ((looking-at phps-mode-lexer-ANY_CHAR) (let ((string-start (search-forward-regexp (concat "\n" heredoc_label ";?\n") nil t))) (if string-start (let* ((start (match-beginning 0)) @@ -1160,56 +1160,56 @@ ANY_CHAR' (data (buffer-substring-no-properties start end))) ;; (message "Found something ending at %s" data) ;; (message "Found nowdoc end at %s-%s" start end) - (phps-mode/BEGIN phps-mode/ST_END_HEREDOC) - (phps-mode/RETURN_TOKEN 'T_ENCAPSED_AND_WHITESPACE old-start start) + (phps-mode-lexer-BEGIN phps-mode-lexer-ST_END_HEREDOC) + (phps-mode-lexer-RETURN_TOKEN 'T_ENCAPSED_AND_WHITESPACE old-start start) ) (progn ;; (message "Found no ending of nowdoc at %s '%s'" heredoc_label (buffer-substring-no-properties (point) (point-max))) - (phps-mode/RETURN_TOKEN 'T_ERROR old-start (point-max)) - (phps-mode/MOVE_FORWARD (point-max)) + (phps-mode-lexer-RETURN_TOKEN 'T_ERROR old-start (point-max)) + (phps-mode-lexer-MOVE_FORWARD (point-max)) )))) ))) -(define-lex-analyzer phps-mode/lex--ST_LOOKING_FOR_VARNAME " +(define-lex-analyzer phps-mode-lexer-lex--ST_LOOKING_FOR_VARNAME " {LABEL}[[}] {ANY_CHAR}" - (= phps-mode/STATE phps-mode/ST_LOOKING_FOR_VARNAME) + (= phps-mode-lexer-STATE phps-mode-lexer-ST_LOOKING_FOR_VARNAME) (cond - ((looking-at (concat phps-mode/LABEL "[\\[}]")) + ((looking-at (concat phps-mode-lexer-LABEL "[\\[}]")) (let ((start (match-beginning 0)) (end (- (match-end 0) 1))) - (phps-mode/yy_pop_state) - (phps-mode/yy_push_state phps-mode/ST_IN_SCRIPTING) - (phps-mode/RETURN_TOKEN 'T_STRING_VARNAME start end))) + (phps-mode-lexer-yy_pop_state) + (phps-mode-lexer-yy_push_state phps-mode-lexer-ST_IN_SCRIPTING) + (phps-mode-lexer-RETURN_TOKEN 'T_STRING_VARNAME start end))) - ((looking-at phps-mode/ANY_CHAR) - (phps-mode/yy_pop_state) - (phps-mode/yy_push_state phps-mode/ST_IN_SCRIPTING)) + ((looking-at phps-mode-lexer-ANY_CHAR) + (phps-mode-lexer-yy_pop_state) + (phps-mode-lexer-yy_push_state phps-mode-lexer-ST_IN_SCRIPTING)) )) -(define-lex-analyzer phps-mode/lex--ST_END_HEREDOC " +(define-lex-analyzer phps-mode-lexer-lex--ST_END_HEREDOC " {ANY_CHAR}" - (= phps-mode/STATE phps-mode/ST_END_HEREDOC) - (let ((heredoc_label (car phps-mode/heredoc_label_stack))) + (= phps-mode-lexer-STATE phps-mode-lexer-ST_END_HEREDOC) + (let ((heredoc_label (car phps-mode-lexer-heredoc_label_stack))) (cond - ((looking-at (concat phps-mode/ANY_CHAR)) + ((looking-at (concat phps-mode-lexer-ANY_CHAR)) (let* ((start (match-beginning 0)) (end (+ start (length heredoc_label) 1)) (data (buffer-substring-no-properties start end))) ;; (message "Found ending heredoc at %s, %s of %s" data (thing-at-point 'line) heredoc_label) - (pop phps-mode/heredoc_label_stack) - (phps-mode/BEGIN phps-mode/ST_IN_SCRIPTING) - (phps-mode/RETURN_TOKEN 'T_END_HEREDOC start end) + (pop phps-mode-lexer-heredoc_label_stack) + (phps-mode-lexer-BEGIN phps-mode-lexer-ST_IN_SCRIPTING) + (phps-mode-lexer-RETURN_TOKEN 'T_END_HEREDOC start end) )) ))) -(define-lex-analyzer phps-mode/lex--ST_VAR_OFFSET " +(define-lex-analyzer phps-mode-lexer-lex--ST_VAR_OFFSET " [0]|([1-9][0-9]*) {LNUM}|{HNUM}|{BNUM} \"$\"{LABEL} @@ -1219,70 +1219,70 @@ ANY_CHAR' {LABEL} {ANY_CHAR} " - (= phps-mode/STATE phps-mode/ST_VAR_OFFSET) + (= phps-mode-lexer-STATE phps-mode-lexer-ST_VAR_OFFSET) (cond ((looking-at (concat "\\(" - phps-mode/LNUM "\\|" - phps-mode/HNUM "\\|" - phps-mode/BNUM "\\)")) - (phps-mode/RETURN_TOKEN 'T_NUM_STRING (match-beginning 0) (match-end 0))) + phps-mode-lexer-LNUM "\\|" + phps-mode-lexer-HNUM "\\|" + phps-mode-lexer-BNUM "\\)")) + (phps-mode-lexer-RETURN_TOKEN 'T_NUM_STRING (match-beginning 0) (match-end 0))) - ((looking-at (concat "\\$" phps-mode/LABEL)) - (phps-mode/RETURN_TOKEN 'T_VARIABLE (match-beginning 0) (match-end 0))) + ((looking-at (concat "\\$" phps-mode-lexer-LABEL)) + (phps-mode-lexer-RETURN_TOKEN 'T_VARIABLE (match-beginning 0) (match-end 0))) ((looking-at "\\]") - (phps-mode/yy_pop_state) - (phps-mode/RETURN_TOKEN "]" (match-beginning 0) (match-end 0))) + (phps-mode-lexer-yy_pop_state) + (phps-mode-lexer-RETURN_TOKEN "]" (match-beginning 0) (match-end 0))) - ((looking-at (concat "\\(" phps-mode/TOKENS + ((looking-at (concat "\\(" phps-mode-lexer-TOKENS "\\|[{}\"`]\\)")) (let* ((start (match-beginning 0)) (end (match-end 0)) (data (buffer-substring-no-properties start end))) - (phps-mode/RETURN_TOKEN data start end))) + (phps-mode-lexer-RETURN_TOKEN data start end))) ((looking-at (concat "[ \n\r\t'#]")) (let* ((start (match-beginning 0)) (end (- (match-end 0) 1))) - (phps-mode/yy_pop_state) - (phps-mode/RETURN_TOKEN 'T_ENCAPSED_AND_WHITESPACE start end))) + (phps-mode-lexer-yy_pop_state) + (phps-mode-lexer-RETURN_TOKEN 'T_ENCAPSED_AND_WHITESPACE start end))) - ((looking-at phps-mode/LABEL) - (phps-mode/RETURN_TOKEN 'T_STRING (match-beginning 0) (match-end 0))) + ((looking-at phps-mode-lexer-LABEL) + (phps-mode-lexer-RETURN_TOKEN 'T_STRING (match-beginning 0) (match-end 0))) - ((looking-at phps-mode/ANY_CHAR) + ((looking-at phps-mode-lexer-ANY_CHAR) ;; Unexpected character - (phps-mode/RETURN_TOKEN 'T_ERROR (match-beginning 0) (point-max)) - (phps-mode/MOVE_FORWARD (point-max))) + (phps-mode-lexer-RETURN_TOKEN 'T_ERROR (match-beginning 0) (point-max)) + (phps-mode-lexer-MOVE_FORWARD (point-max))) )) ;; TODO Need to store lexer state and stack at each changing point of buffer to be able to rewind lexer -(defun phps-mode/lex--SETUP (start end) +(defun phps-mode-lexer-lex--SETUP (start end) "Just prepare other lexers for lexing region START to END." - ;; (message "phps-mode/lex--SETUP %s %s" start end) + ;; (message "phps-mode-lexer-lex--SETUP %s %s" start end) (when (and (eq start 1) end) (delete-all-overlays) - (when (boundp 'phps-mode/buffer-changes--start) - (setq phps-mode/buffer-changes--start nil)) + (when (boundp 'phps-mode-lexer-buffer-changes--start) + (setq phps-mode-lexer-buffer-changes--start nil)) - (setq phps-mode/lexer-states nil) + (setq phps-mode-lexer-states nil) - (phps-mode/BEGIN phps-mode/ST_INITIAL))) + (phps-mode-lexer-BEGIN phps-mode-lexer-ST_INITIAL))) -(defun phps-mode/lex--RUN () +(defun phps-mode-lexer-lex--RUN () "Run lexer." (interactive) - (setq phps-mode/lexer-tokens (semantic-lex-buffer))) + (setq phps-mode-lexer-tokens (semantic-lex-buffer))) -(defun phps-mode/move-lexer-states (start diff) +(defun phps-mode-lexer-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))) + (setq phps-mode-lexer-states (phps-mode-lexer-get-moved-lexer-states phps-mode-lexer-states start diff))) -(defun phps-mode/get-moved-lexer-states (states start diff) +(defun phps-mode-lexer-get-moved-lexer-states (states start diff) "Return moved lexer STATES after (or equal to) START with modification DIFF." (let ((old-states states) (new-states '())) @@ -1302,11 +1302,11 @@ ANY_CHAR' new-states)) -(defun phps-mode/move-lexer-tokens (start diff) +(defun phps-mode-lexer-move-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))) + (setq phps-mode-lexer-tokens (phps-mode-lexer-get-moved-lexer-tokens phps-mode-lexer-tokens start diff))) -(defun phps-mode/get-moved-lexer-tokens (old-tokens start diff) +(defun phps-mode-lexer-get-moved-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 @@ -1324,18 +1324,18 @@ ANY_CHAR' new-tokens)) -(defun phps-mode/run-incremental-lex () - "Run incremental lexer based on `phps-mode/buffer-changes--start'." - (when (and (boundp 'phps-mode/buffer-changes--start) - phps-mode/buffer-changes--start - phps-mode/lexer-states) +(defun phps-mode-lexer-run-incremental-lex () + "Run incremental lexer based on `phps-mode-lexer-buffer-changes--start'." + (when (and (boundp 'phps-mode-lexer-buffer-changes--start) + phps-mode-lexer-buffer-changes--start + phps-mode-lexer-states) (let ((state nil) (state-stack nil) (new-states '()) - (states (nreverse phps-mode/lexer-states)) - (change-start phps-mode/buffer-changes--start) + (states (nreverse phps-mode-lexer-states)) + (change-start phps-mode-lexer-buffer-changes--start) (previous-token-start nil) - (tokens phps-mode/lexer-tokens)) + (tokens phps-mode-lexer-tokens)) ;; (message "Looking for state to rewind to for %s in stack %s" change-start states) ;; Find state and state stack before point of change @@ -1373,10 +1373,10 @@ ANY_CHAR' (let* ((new-tokens (semantic-lex previous-token-start (point-max))) (appended-tokens (append old-tokens new-tokens))) ;; (message "old-tokens: %s, new-tokens: %s" old-tokens new-tokens) - (setq phps-mode/lexer-tokens appended-tokens) - (setq phps-mode/STATE state) - (setq phps-mode/state_stack state-stack) - (setq phps-mode/lexer-states new-states) + (setq phps-mode-lexer-tokens appended-tokens) + (setq phps-mode-lexer-STATE state) + (setq phps-mode-lexer-state_stack state-stack) + (setq phps-mode-lexer-states new-states) ;; TODO Should clear overlays after point of change here ;; (message "Rewinding lex to state: %s and stack: %s and states: %s and start: %s old tokens: %s" state state-stack new-states previous-token-start old-tokens) @@ -1384,33 +1384,37 @@ ANY_CHAR' ;; TODO Here clear all tokens after previous-token-start and add new tokens to stack )) ;; (display-warning "phps-mode" (format "Found no state to rewind to for %s in stack %s, buffer point max: %s" change-start states (point-max))) - (phps-mode/lex--RUN))) - (setq phps-mode/buffer-changes--start nil))) + (phps-mode-lexer-lex--RUN))) + (setq phps-mode-lexer-buffer-changes--start nil))) -(define-lex phps-mode/tags-lexer +(define-lex phps-mode-lexer-tags-lexer "Lexer that handles PHP buffers." - phps-mode/lex--INITIAL - phps-mode/lex--ST_IN_SCRIPTING - phps-mode/lex--ST_LOOKING_FOR_PROPERTY - phps-mode/lex--ST_DOUBLE_QUOTES - phps-mode/lex--ST_BACKQUOTE - phps-mode/lex--ST_HEREDOC - phps-mode/lex--ST_NOWDOC - phps-mode/lex--ST_LOOKING_FOR_VARNAME - phps-mode/lex--ST_END_HEREDOC - phps-mode/lex--ST_VAR_OFFSET + phps-mode-lexer-lex--INITIAL + phps-mode-lexer-lex--ST_IN_SCRIPTING + phps-mode-lexer-lex--ST_LOOKING_FOR_PROPERTY + phps-mode-lexer-lex--ST_DOUBLE_QUOTES + phps-mode-lexer-lex--ST_BACKQUOTE + phps-mode-lexer-lex--ST_HEREDOC + phps-mode-lexer-lex--ST_NOWDOC + phps-mode-lexer-lex--ST_LOOKING_FOR_VARNAME + phps-mode-lexer-lex--ST_END_HEREDOC + phps-mode-lexer-lex--ST_VAR_OFFSET semantic-lex-default-action) -(defun phps-mode/lexer-init () +(defun phps-mode-lexer-lexer-init () "Initialize lexer." - (when (boundp 'phps-mode/syntax-table) - (setq semantic-lex-syntax-table phps-mode/syntax-table)) - (setq semantic-lex-analyzer #'phps-mode/tags-lexer) - (add-hook 'semantic-lex-reset-functions #'phps-mode/lex--SETUP) - (phps-mode/lex--RUN)) -(provide 'phps-mode/lexer) + (when (boundp 'phps-mode-lexer-syntax-table) + (setq semantic-lex-syntax-table phps-mode-lexer-syntax-table)) -;;; phps-lexer.el ends here + (setq semantic-lex-analyzer #'phps-mode-lexer-tags-lexer) + + (add-hook 'semantic-lex-reset-functions #'phps-mode-lexer-lex--SETUP) + + (phps-mode-lexer-lex--RUN)) + +(provide 'phps-mode-lexer) + +;;; phps-mode-lexer.el ends here diff --git a/phps-map.el b/phps-mode-map.el similarity index 68% rename from phps-map.el rename to phps-mode-map.el index 48fd26a..c6f9e14 100644 --- a/phps-map.el +++ b/phps-mode-map.el @@ -1,14 +1,6 @@ -;; phps-mode/phps-map.el --- Map for major mode -*- lexical-binding: t -*- +;; phps-mode-map.el --- Map for PHPs -*- lexical-binding: t -*- -;; Author: Christian Johansson <github.com/cjohansson> -;; Maintainer: Christian Johansson <github.com/cjohansson> -;; Created: 3 Mar 2018 -;; Modified: . -;; Version: 0.1 -;; Keywords: tools, convenience -;; URL: - - -;; Copyright (C) 2017 Christian Johansson +;; Copyright (C) 2018 Christian Johansson ;; This file is not part of GNU Emacs. @@ -37,15 +29,15 @@ ;;; Code: -(defvar phps-mode/map +(defvar phps-mode-map (let ((map (make-keymap))) ;; TODO keys here map) "Key-map for major mode.") -(defun phps-mode/map-init () +(defun phps-mode-map-init () "Apply map to mode." - (use-local-map phps-mode/map)) + (use-local-map phps-mode-map)) -(provide 'phps-mode/map) -;;; phps-map.el ends here +(provide 'phps-mode-map) +;;; phps-mode-map.el ends here diff --git a/phps-semantic.el b/phps-mode-semantic.el similarity index 82% rename from phps-semantic.el rename to phps-mode-semantic.el index a7e4d1a..95e6e21 100644 --- a/phps-semantic.el +++ b/phps-mode-semantic.el @@ -1,6 +1,6 @@ -;;; phps-mode/phps-semantic.el --- Semantic functions for PHP -*- lexical-binding: t -*- +;;; phps-mode-semantic.el --- Semantic for PHPs -*- lexical-binding: t -*- -;; Copyright (C) 2017 Christian Johansson +;; Copyright (C) 2018 Christian Johansson ;; This file is not part of GNU Emacs. @@ -33,6 +33,6 @@ -(provide 'phps-mode/semantic) +(provide 'phps-mode-semantic) -;;; phps-semantic.el ends here +;;; phps-mode-semantic.el ends here diff --git a/phps-syntax-table.el b/phps-mode-syntax-table.el similarity index 54% rename from phps-syntax-table.el rename to phps-mode-syntax-table.el index e98ccb0..c5e9cfc 100644 --- a/phps-syntax-table.el +++ b/phps-mode-syntax-table.el @@ -1,14 +1,4 @@ -;;; phps-mode/phps-syntax-table.el --- Major mode for PHP with Semantic integration -*- lexical-binding: t -*- - -;; Author: Christian Johansson <github.com/cjohansson> -;; Maintainer: Christian Johansson <github.com/cjohansson> -;; Created: 3 Mar 2018 -;; Modified: . -;; Version: 0.1 -;; Keywords: tools, convenience -;; URL: - - -;; Package-Requires: ((emacs "24")) +;;; phps-mode-syntax-table.el --- Syntax table for PHPs -*- lexical-binding: t -*- ;; Copyright (C) 2018 Christian Johansson @@ -39,91 +29,87 @@ ;;; Code: -(defvar phps-mode/syntax-table - (let ((phps-mode/syntax-table (make-syntax-table))) +(defvar phps-mode-syntax-table + (let ((phps-mode-syntax-table (make-syntax-table))) ;; This is added so entity names with underscores can be more easily parsed as one word ;; WHITE-SPACE - - - ;; Treat non-breaking spaces as white-space - (modify-syntax-entry ?\xa0 " " phps-mode/syntax-table) - + ;; Treat spaces as white-space - (modify-syntax-entry ?\s " " phps-mode/syntax-table) + (modify-syntax-entry ?\s " " phps-mode-syntax-table) ;; Treat line-feed as white-space - (modify-syntax-entry ?\f " " phps-mode/syntax-table) + (modify-syntax-entry ?\f " " phps-mode-syntax-table) ;; Treat spce as white-space - (modify-syntax-entry ?\s " " phps-mode/syntax-table) + (modify-syntax-entry ?\s " " phps-mode-syntax-table) ;; Treat tabs as white-space - (modify-syntax-entry ?\t " " phps-mode/syntax-table) + (modify-syntax-entry ?\t " " phps-mode-syntax-table) ;; Treat newline as white-space - (modify-syntax-entry ?\n " " phps-mode/syntax-table) + (modify-syntax-entry ?\n " " phps-mode-syntax-table) ;; Treat carriage-return as white-space - (modify-syntax-entry ?\r " " phps-mode/syntax-table) + (modify-syntax-entry ?\r " " phps-mode-syntax-table) ;; PUNCTUATIONS ;; Treat underscore, dollar-sign, question-mark as punctuations - (modify-syntax-entry ?_ "." phps-mode/syntax-table) + (modify-syntax-entry ?_ "." phps-mode-syntax-table) ;; Treat dollar-sign as a punctuation - (modify-syntax-entry ?\$ "." phps-mode/syntax-table) + (modify-syntax-entry ?\$ "." phps-mode-syntax-table) ;; Treat question-mark as a punctuation - (modify-syntax-entry ?\? "." phps-mode/syntax-table) + (modify-syntax-entry ?\? "." phps-mode-syntax-table) ;; Treat backslash as a punctuation - (modify-syntax-entry ?\\ "." phps-mode/syntax-table) + (modify-syntax-entry ?\\ "." phps-mode-syntax-table) ;; PARENTHESIS ;; Treat opening round bracket as open-parenthesis closed by ) - (modify-syntax-entry ?\( "()" phps-mode/syntax-table) + (modify-syntax-entry ?\( "()" phps-mode-syntax-table) ;; Treat closing round bracket as close-parenthesis opened by ( - (modify-syntax-entry ?\) ")(" phps-mode/syntax-table) + (modify-syntax-entry ?\) ")(" phps-mode-syntax-table) ;; Treat opening square bracket as open-parenthesis closed by ] - (modify-syntax-entry ?\[ "(]" phps-mode/syntax-table) + (modify-syntax-entry ?\[ "(]" phps-mode-syntax-table) ;; Treat closing square bracket as close-parenthesis opened by [ - (modify-syntax-entry ?\] ")[" phps-mode/syntax-table) + (modify-syntax-entry ?\] ")[" phps-mode-syntax-table) ;; Treat opening curly bracket as open-parenthesis closed by } - (modify-syntax-entry ?\{ "(}" phps-mode/syntax-table) + (modify-syntax-entry ?\{ "(}" phps-mode-syntax-table) ;; Treat closing curly bracket as close-parenthesis opened by { - (modify-syntax-entry ?\} "){" phps-mode/syntax-table) + (modify-syntax-entry ?\} "){" phps-mode-syntax-table) ;; STRING QUOTE ;; Treat double quoted string as string quote - (modify-syntax-entry ?\" "\"" phps-mode/syntax-table) + (modify-syntax-entry ?\" "\"" phps-mode-syntax-table) ;; Treat single quoted string as string quote - (modify-syntax-entry ?\' "\"" phps-mode/syntax-table) + (modify-syntax-entry ?\' "\"" phps-mode-syntax-table) ;; Treat back-quoted string as string quote - (modify-syntax-entry ?\` "\"" phps-mode/syntax-table) + (modify-syntax-entry ?\` "\"" phps-mode-syntax-table) - phps-mode/syntax-table) + phps-mode-syntax-table) "Syntax table for phps-mode.") -(defun phps-mode/syntax-table-init () +(defun phps-mode-syntax-table-init () "Apply syntax table." - (set-syntax-table phps-mode/syntax-table)) + (set-syntax-table phps-mode-syntax-table)) -(provide 'phps-mode/syntax-table) +(provide 'phps-mode-syntax-table) -;;; phps-syntax-table.el ends here +;;; phps-mode-syntax-table.el ends here diff --git a/phps-tags.el b/phps-mode-tags.el similarity index 86% rename from phps-tags.el rename to phps-mode-tags.el index 3cb54a8..6024015 100644 --- a/phps-tags.el +++ b/phps-mode-tags.el @@ -1,11 +1,4 @@ -;;; phps-mode/phps-tags.el --- PHP LALR parser for Emacs -*- lexical-binding: t -*- - -;; Copyright (C) 2001-2006, 2009-2018 Free Software Foundation, Inc. - -;; Author: David Ponce <da...@dponce.com> -;; Maintainer: David Ponce <da...@dponce.com> -;; Created: 15 Dec 2001 -;; Keywords: syntax +;;; phps-mode-tags.el --- PHP LALR parser for Emacs -*- lexical-binding: t -*- ;; This file is not part of GNU Emacs. @@ -36,7 +29,7 @@ (defvar semantic-imenu-summary-function) ;;;###autoload -(defun phps-mode/tags-init () +(defun phps-mode-tags-init () "Hook run to setup Semantic in `phps-mode'. Use the alternate LALR(1) parser." @@ -88,6 +81,6 @@ Use the alternate LALR(1) parser." ;; Setup phpdoc stuff (semantic-php-doc-setup)) -(provide 'phps-mode/phps-tags) +(provide 'phps-mode-tags) -;;; phps-tags.el ends here +;;; phps-mode-tags.el ends here diff --git a/phps-test-functions.el b/phps-mode-test-functions.el similarity index 96% rename from phps-test-functions.el rename to phps-mode-test-functions.el index 3d63fe3..8f989d5 100644 --- a/phps-test-functions.el +++ b/phps-mode-test-functions.el @@ -1,12 +1,4 @@ -;;; phps-test-functions.el --- Tests for functions -*- lexical-binding: t -*- - -;; Author: Christian Johansson <github.com/cjohansson> -;; Maintainer: Christian Johansson <github.com/cjohansson> -;; Created: 3 Mar 2018 -;; Modified: . -;; Version: 0.1 -;; Keywords: tools, convenience -;; URL: - +;;; phps-mode-test-functions.el --- Tests for functions -*- lexical-binding: t -*- ;; Copyright (C) 2018 Christian Johansson @@ -37,9 +29,9 @@ ;;; Code: -(autoload 'phps-mode/with-test-buffer "phps-test") -(autoload 'phps-mode/indent-line "phps-functions") -(autoload 'phps-mode/get-point-data "phps-functions") +(autoload 'phps-mode-test-with-buffer "phps-mode-test") +(autoload 'phps-mode-functions-indent-line "phps-mode-functions") +(autoload 'phps-mode-functions-get-point-data "phps-mode-functions") (autoload 'should "ert") ;; TODO Add unit tests for HEREDOC, NOWDOC as well @@ -347,13 +339,13 @@ ;; TODO Add tests for all examples here: https://www.php-fig.org/psr/psr-2/ -(defun phps-mod/test-functions () +(defun phps-mode-test-functions () "Run test for functions." (phps-mode/test-functions--get-point-data) (phps-mode/test-indent-line)) (phps-mod/test-functions) -(provide 'phps-mod/test-functions) +(provide 'phps-mode-test-functions) -;;; phps-test-functions.el ends here +;;; phps-mode-test-functions.el ends here diff --git a/phps-test-lexer.el b/phps-mode-test-lexer.el similarity index 96% rename from phps-test-lexer.el rename to phps-mode-test-lexer.el index 837ae26..5a24387 100644 --- a/phps-test-lexer.el +++ b/phps-mode-test-lexer.el @@ -1,12 +1,4 @@ -;;; phps-test-lexer.el --- Tests for Semantic Lexer -*- lexical-binding: t -*- - -;; Author: Christian Johansson <github.com/cjohansson> -;; Maintainer: Christian Johansson <github.com/cjohansson> -;; Created: 3 Mar 2018 -;; Modified: . -;; Version: 0.1 -;; Keywords: tools, convenience -;; URL: - +;;; phps-mode-test-lexer.el --- Tests for lexer -*- lexical-binding: t -*- ;; Copyright (C) 2018 Christian Johansson @@ -37,13 +29,13 @@ ;;; Code: -(autoload 'phps-mode/with-test-buffer "phps-test") -(autoload 'phps-mode/lexer-init "phps-lexer") -(autoload 'phps-mode/lexer-get-point-data "phps-lexer") -(autoload 'phps-mode/move-lexer-tokens "phps-lexer") +(autoload 'phps-mode-test-with-buffer "phps-mode-test") +(autoload 'phps-mode-lexer-init "phps-mode-lexer") +(autoload 'phps-mode-lexer-get-point-data "phps-mode-lexer") +(autoload 'phps-mode-lexer-move-lexer-tokens "phps-mode-lexer") (autoload 'should "ert") -(defun phps-mode/test-lexer--script-boundaries () +(defun phps-mode-test-lexer--script-boundaries () "Run test for lexer." (phps-mode/with-test-buffer @@ -73,7 +65,7 @@ ) -(defun phps-mode/test-lexer--simple-tokens () +(defun phps-mode-test-lexer--simple-tokens () "Run test for simple tokens." (phps-mode/with-test-buffer @@ -151,7 +143,7 @@ ) -(defun phps-mode/test-lexer--complex-tokens () +(defun phps-mode-test-lexer--complex-tokens () "Run test for complex tokens." (phps-mode/with-test-buffer @@ -240,7 +232,7 @@ ) -(defun phps-mode/test-lexer--namespaces () +(defun phps-mode-test-lexer--namespaces () "Run test for namespaces." (phps-mode/with-test-buffer @@ -255,7 +247,7 @@ '((T_OPEN_TAG 1 . 7) (T_NAMESPACE 7 . 16) (T_STRING 17 . 28) (";" 28 . 29) (T_CLASS 30 . 35) (T_STRING 36 . 43) ("{" 44 . 45) (T_PUBLIC 47 . 53) (T_FUNCTION 54 . 62) (T_STRING 63 . 74) ("(" 74 . 75) (")" 75 . 76) ("{" 77 . 78) (T_EXIT 81 . 85) (";" 85 . 86) ("}" 88 . 89) ("}" 90 . 91))))) ) -(defun phps-mode/test-lexer--errors () +(defun phps-mode-test-lexer--errors () "Run test for errors." (phps-mode/with-test-buffer @@ -275,7 +267,7 @@ ) -(defun phps-mode/test-get-moved-lexer-tokens () +(defun phps-mode-test-lexer-get-moved-lexer-tokens () "Run test for get moved lexer tokens." (should (equal @@ -300,7 +292,7 @@ ) -(defun phps-mode/test-get-moved-lexer-states () +(defun phps-mode-test-lexer-get-moved-lexer-states () "Run test for get moved lexer states." (should (equal @@ -352,7 +344,7 @@ -2))) ) -(defun phps-mode/test-lexer () +(defun phps-mode-test-lexer () "Run test for lexer." ;; (message "-- Running all tests for lexer... --\n") ;; (setq debug-on-error t) @@ -368,6 +360,6 @@ (phps-mode/test-lexer) -(provide 'phps-mode/test-lexer) +(provide 'phps-mode-test-lexer) -;;; phps-test-lexer.el ends here +;;; phps-mode-test-lexer.el ends here diff --git a/phps-test-parser.el b/phps-mode-test-parser.el similarity index 72% rename from phps-test-parser.el rename to phps-mode-test-parser.el index a8fef94..13dfb1e 100644 --- a/phps-test-parser.el +++ b/phps-mode-test-parser.el @@ -1,12 +1,4 @@ -;;; phps-test-parser.el --- Tests for Semantic parser -*- lexical-binding: t -*- - -;; Author: Christian Johansson <github.com/cjohansson> -;; Maintainer: Christian Johansson <github.com/cjohansson> -;; Created: 3 Mar 2018 -;; Modified: . -;; Version: 0.1 -;; Keywords: tools, convenience -;; URL: - +;;; phps-mode-test-parser.el --- Tests for parser -*- lexical-binding: t -*- ;; Copyright (C) 2018 Christian Johansson @@ -37,7 +29,7 @@ ;;; Code: -(defun phps-test-parser() +(defun phps-mode-test-parser() "Run test for lexer." ;; (message "-- Running all tests for parser... --\n") ;; (setq debug-on-error t) @@ -45,8 +37,8 @@ ;; (message "\n-- Ran all tests for parser. --") ) -(phps-test-parser) +(phps-mode-test-parser) -(provide 'phps-test-parser) +(provide 'phps-mode-test-parser) -;;; phps-test-parser.el ends here +;;; phps-mode-test-parser.el ends here diff --git a/phps-test.el b/phps-mode-test.el similarity index 75% rename from phps-test.el rename to phps-mode-test.el index 595fcf9..60479b4 100644 --- a/phps-test.el +++ b/phps-mode-test.el @@ -1,12 +1,4 @@ -;;; phps-test.el --- Commons for tests -*- lexical-binding: t -*- - -;; Author: Christian Johansson <github.com/cjohansson> -;; Maintainer: Christian Johansson <github.com/cjohansson> -;; Created: 3 Mar 2018 -;; Modified: . -;; Version: 0.1 -;; Keywords: tools, convenience -;; URL: - +;;; phps-mode-test.el --- Commons for tests -*- lexical-binding: t -*- ;; Copyright (C) 2018 Christian Johansson @@ -36,7 +28,7 @@ (autoload 'phps-mode "phps-mode") -(defmacro phps-mode/with-test-buffer (source &rest body) +(defmacro phps-mode-test-with-buffer (source &rest body) "Set up test buffer with SOURCE and BODY." `(let ((test-buffer (generate-new-buffer "test"))) (switch-to-buffer test-buffer) @@ -49,6 +41,6 @@ )) -(provide 'phps-mode/test) +(provide 'phps-mode-test) -;;; phps-test.el ends here +;;; phps-mode-test.el ends here diff --git a/phps-mode.el b/phps-mode.el index 905f436..d6ba0c2 100644 --- a/phps-mode.el +++ b/phps-mode.el @@ -6,7 +6,7 @@ ;; Modified: . ;; Version: 0.1 ;; Keywords: tools, convenience -;; URL: - +;; URL: https://github.com/cjohansson/emacs-phps-mode ;; Package-Requires: ((emacs "24")) @@ -37,9 +37,6 @@ ;; TODO 0. Add tests for semantic like semantic-php project ;; TODO 1. Get semantic working based on zend_language_parser.y ;; TODO 2. Add support for flymake -;; DONE 3. Add support for flycheck -;; DONE 4. Get syntax coloring working based on lexer tokens -;; DONE 5. Get indent-functions working ;; NOTE use wisent-parse-toggle-verbose-flag and (semantic-debug) to debug parsing @@ -47,50 +44,50 @@ ;;; Code: -(autoload 'phps-mode/flycheck-init "phps-flycheck") -(autoload 'phps-mode/flymake-init "phps-flymake") -(autoload 'phps-mode/font-lock-init "phps-font-lock") -(autoload 'phps-mode/functions-init "phps-functions") -(autoload 'phps-mode/map-init "phps-map") -(autoload 'phps-mode/lexer-init "phps-lexer") -(autoload 'phps-mode/syntax-table-init "phps-syntax-table") -(autoload 'phps-mode/tags-init "phps-tags") -(autoload 'phps-mode/semantic-init "phps-semantic") +(autoload 'phps-mode-flycheck-init "phps-mode-flycheck") +(autoload 'phps-mode-flymake-init "phps-mode-flymake") +(autoload 'phps-mode-font-lock-init "phps-mode-font-lock") +(autoload 'phps-mode-functions-init "phps-mode-functions") +(autoload 'phps-mode-map-init "phps-mode-map") +(autoload 'phps-mode-lexer-init "phps-mode-lexer") +(autoload 'phps-mode-syntax-table-init "phps-mode-syntax-table") +(autoload 'phps-mode-tags-init "phps-mode-tags") +(autoload 'phps-mode-semantic-init "phps-mode-semantic") (autoload 'semantic-new-buffer-fcn "semantic") -(defvar phps-mode/use-psr-2 t +(defvar phps-mode-use-psr-2 t "Whether to use PSR-2 guidelines for white-space or not.") -(defvar phps-mode/idle-interval 0.2 +(defvar phps-mode-idle-interval 0.2 "Idle seconds before running incremental lexer.") (define-derived-mode phps-mode prog-mode "PHPs" "Major mode for PHP with Semantic integration." ;; Key-map - (phps-mode/map-init) + (phps-mode-map-init) ;; Syntax table - (phps-mode/syntax-table-init) + (phps-mode-syntax-table-init) ;; Font lock - (phps-mode/font-lock-init) + (phps-mode-font-lock-init) ;; Flymake - ;; (phps-mode/flymake-init) + ;; (phps-mode-flymake-init) ;; Flycheck - (phps-mode/flycheck-init) + (phps-mode-flycheck-init) ;; Override functions - (phps-mode/functions-init) + (phps-mode-functions-init) (setq major-mode 'phps-mode) (setq mode-name "PHPs") ;; Lexer - (phps-mode/lexer-init) + (phps-mode-lexer-init) ;; Wisent LALR parser ;; (phps-mode/tags-init)