branch: externals/phps-mode commit b9f74656adc28e01e734afa9aa7307b47829f901 Author: Christian Johansson <christ...@cvj.se> Commit: Christian Johansson <christ...@cvj.se>
Added ONUM regex --- phps-mode-lexer.el | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/phps-mode-lexer.el b/phps-mode-lexer.el index 679ef90256..a53596ed83 100644 --- a/phps-mode-lexer.el +++ b/phps-mode-lexer.el @@ -52,14 +52,6 @@ 2147483648 "Limit for 32-bit integer.") -(defconst phps-mode-lexer--bnum - "0b[01]+" - "Boolean number.") - -(defconst phps-mode-lexer--hnum - "0x[0-9a-fA-F]+" - "Hexadecimal number.") - (defconst phps-mode-lexer--lnum "[0-9]+" "Long number.") @@ -75,6 +67,20 @@ phps-mode-lexer--lnum) "Exponent double number.") +;; TODO Fix this +(defconst phps-mode-lexer--hnum + "0x[0-9a-fA-F]+" + "Hexadecimal number.") + +;; TODO Fix this +(defconst phps-mode-lexer--bnum + "0b[01]+" + "Boolean number.") + +(defconst phps-mode-lexer--onum + "0o[0-7]+\\(_[0-7]+\\)*" + "Octal number.") + (defconst phps-mode-lexer--label "[A-Za-z_[:nonascii:]][0-9A-Za-z_[:nonascii:]]*" "Labels are used for names.") @@ -1250,6 +1256,19 @@ (phps-mode-lexer--return-token 'T_DNUMBER) (phps-mode-lexer--return-token 'T_LNUMBER)))) + ;; TODO ONUM here + (phps-mode-lexer--match-macro + ST_IN_SCRIPTING + (looking-at phps-mode-lexer--onum) + (let* ((start (match-beginning 0)) + (end (match-end 0)) + (data (string-to-number + (buffer-substring-no-properties start end) + 8))) + (if (> data phps-mode-lexer--long-limit) + (phps-mode-lexer--return-token 'T_DNUMBER) + (phps-mode-lexer--return-token 'T_LNUMBER)))) + (phps-mode-lexer--match-macro ST_IN_SCRIPTING (looking-at phps-mode-lexer--lnum)