branch: externals/phps-mode
commit 66edaca1c581017c066500f3aa196ac140931fcb
Author: Christian Johansson <[email protected]>
Commit: Christian Johansson <[email protected]>
Improved lexing of comment version doc comment
---
phps-mode-lexer.el | 14 ++++++++------
phps-mode-test-lexer.el | 2 +-
2 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/phps-mode-lexer.el b/phps-mode-lexer.el
index f2e887c..95ce874 100644
--- a/phps-mode-lexer.el
+++ b/phps-mode-lexer.el
@@ -1316,16 +1316,18 @@
(lambda()
(let* ((start (match-beginning 0))
(end (match-end 0))
- (_data (buffer-substring-no-properties start end)))
+ (_data (buffer-substring-no-properties start end))
+ (doc-com (looking-at-p (concat "/\\*\\*"
phps-mode-lexer-WHITESPACE))))
(let ((string-start (search-forward "*/" nil t))
position)
(if string-start
- (setq position string-start)
+ (if doc-com
+ (phps-mode-lexer-RETURN_TOKEN 'T_DOC_COMMENT start
(match-end 0))
+ (phps-mode-lexer-RETURN_TOKEN 'T_COMMENT start (match-end 0)))
(progn
- (setq position (point-max))
- (phps-mode-lexer-MOVE_FORWARD (point-max))))
- (phps-mode-lexer-RETURN_TOKEN 'T_DOC_COMMENT start position)
- ))))
+ (display-warning "phps-mode" "PHPs Lexer Error - Unterminated
comment starting at %s" start)
+ (phps-mode-lexer-RETURN_TOKEN 'T_ERROR start (point-max))
+ (phps-mode-lexer-MOVE_FORWARD (point-max))))))))
(phps-mode-lexer-re2c-rule
(and ST_IN_SCRIPTING (looking-at "\\?>\n?"))
diff --git a/phps-mode-test-lexer.el b/phps-mode-test-lexer.el
index d201484..364ab75 100644
--- a/phps-mode-test-lexer.el
+++ b/phps-mode-test-lexer.el
@@ -178,7 +178,7 @@
(phps-mode-test-with-buffer
"<?php\n/*my comment */\n/** my doc comment */"
"Comment vs doc-comment"
- (message "Tokens: %s" (phps-mode-lexer-get-tokens))
+ ;; (message "Tokens: %s" (phps-mode-lexer-get-tokens))
(should (equal (phps-mode-lexer-get-tokens)
'((T_OPEN_TAG 1 . 7) (T_COMMENT 7 . 22) (T_DOC_COMMENT 23 .
44)))))