emacs-elpa-diffs
[Top][All Lists]
Advanced

[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."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]