[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/phps-mode 7688cd7 111/405: Got incremental lexer workin
From: |
Stefan Monnier |
Subject: |
[elpa] externals/phps-mode 7688cd7 111/405: Got incremental lexer working after renaming again |
Date: |
Sat, 13 Jul 2019 09:59:54 -0400 (EDT) |
branch: externals/phps-mode
commit 7688cd726aca4bcd6178a5c11932169305c54cc4
Author: Christian Johansson <address@hidden>
Commit: Christian Johansson <address@hidden>
Got incremental lexer working after renaming again
---
phps-mode-functions.el | 20 ++++++++++++--------
phps-mode-lexer.el | 14 +++++++-------
2 files changed, 19 insertions(+), 15 deletions(-)
diff --git a/phps-mode-functions.el b/phps-mode-functions.el
index cea1ff5..788781c 100644
--- a/phps-mode-functions.el
+++ b/phps-mode-functions.el
@@ -50,12 +50,12 @@
(let ((start-curly-bracket-level (nth 1 start))
(start-round-bracket-level (nth 2 start))
(start-square-bracket-level (nth 3 start))
- (start-inline-function-level (nth 4 start))
+ (_start-inline-function-level (nth 4 start))
(start-token-number (nth 5 start))
(end-curly-bracket-level (nth 1 end))
(end-round-bracket-level (nth 2 end))
(end-square-bracket-level (nth 3 end))
- (end-inline-function-level (nth 4 end))
+ (_end-inline-function-level (nth 4 end))
(end-token-number (nth 5 end))
(in-doc-comment (nth 6 start)))
(let* ((indent-start (+ start-curly-bracket-level
start-round-bracket-level start-square-bracket-level))
@@ -174,19 +174,23 @@
)))))))))
;; TODO Fix flycheck error here
-(defun phps-mode-functions-after-change (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")
+
+ ;; If we haven't scheduled incremental lexer before - do it
(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-lexer-run-incremental)
- )
+ (boundp 'phps-mode-idle-interval)
+ phps-mode-idle-interval)
+ ;; (message "Enqueued incremental lexer")
+ (run-with-idle-timer phps-mode-idle-interval nil
#'phps-mode-lexer-run-incremental))
+
+ ;; When point of change is not set or when start of new changes precedes
old change - update the point
(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-functions-buffer-changes-start start)
(setq phps-mode-functions-buffer-changes-start start))
+
;; (message "phps-mode-functions-after-change %s %s %s" start stop length)
))
diff --git a/phps-mode-lexer.el b/phps-mode-lexer.el
index 8b0079a..3fd2a42 100644
--- a/phps-mode-lexer.el
+++ b/phps-mode-lexer.el
@@ -380,7 +380,7 @@
(semantic-lex-token token start end)))
;; TODO Figure out what this does
-(defun phps-mode-lexer-SKIP_TOKEN (token start end)
+(defun phps-mode-lexer-SKIP_TOKEN (_token _start _end)
"Skip TOKEN to list with START and END."
)
@@ -793,7 +793,7 @@
((looking-at (concat "/\\*\\*" phps-mode-lexer-WHITESPACE))
(let* ((start (match-beginning 0))
(end (match-end 0))
- (data (buffer-substring-no-properties start end)))
+ (_data (buffer-substring-no-properties start end)))
(let ((string-start (search-forward "*/" nil t))
position)
(if string-start
@@ -1326,14 +1326,14 @@ ANY_CHAR'
(defun phps-mode-lexer-run-incremental ()
"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
+ (when (and (boundp 'phps-mode-functions-buffer-changes-start)
+ phps-mode-functions-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-lexer-buffer-changes--start)
+ (change-start phps-mode-functions-buffer-changes-start)
(previous-token-start nil)
(tokens phps-mode-lexer-tokens))
;; (message "Looking for state to rewind to for %s in stack %s"
change-start states)
@@ -1368,7 +1368,7 @@ ANY_CHAR'
;; Delete all overlays from point of change to end of buffer
(dolist (overlay (overlays-in previous-token-start (point-max)))
- (delete-overlay overlay))
+ (delete-overlay overlay))
(let* ((new-tokens (semantic-lex previous-token-start (point-max)))
(appended-tokens (append old-tokens new-tokens)))
@@ -1385,7 +1385,7 @@ ANY_CHAR'
))
;; (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-lexer-run)))
- (setq phps-mode-lexer-buffer-changes--start nil)))
+ (setq phps-mode-functions-buffer-changes-start nil)))
(define-lex phps-mode-lexer-tags-lexer
"Lexer that handles PHP buffers."
- [elpa] externals/phps-mode 6c8eea0 100/405: Added another failing indentation case for switch case, (continued)
- [elpa] externals/phps-mode 6c8eea0 100/405: Added another failing indentation case for switch case, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode a899707 102/405: Updated comments, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 89fac0b 094/405: Added another unit test for bracket less conditional, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 6ac718c 104/405: Removed non-breaking space from syntax table, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode a5beef1 097/405: Added support for square bracket indentation, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 2c9746b 101/405: Added switch case unit test for lexer, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 47ad456 103/405: Fixed syntax table for white-spaces, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode cd1fdee 106/405: *** empty log message ***, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode efa297a 108/405: More work on renaming, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 529042e 109/405: More work on renaming, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 7688cd7 111/405: Got incremental lexer working after renaming again,
Stefan Monnier <=
- [elpa] externals/phps-mode 9c4a3ba 117/405: More work on alternative control structures, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 3272991 110/405: Merge branch 'master' of https://github.com/cjohansson/emacs-phps-mode, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 7c6ee3e 107/405: More work on renaming, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 46a8256 116/405: Starting implementation of tracking alternative control structure level, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 9ac21f1 120/405: More work on inline and alternative control structures, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 41ef691 112/405: Fixed lint warning of unused variables, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 12c22ee 119/405: More work on alternative and inline meta information, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 7e2e902 126/405: Fixed a unit test, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 80da137 114/405: Preparations for adding alternative and inline syntax, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode baab77a 121/405: Unit tests for inline control structures working, Stefan Monnier, 2019/07/13