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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/phps-mode 7fa869d 3/5: More optimization of syntax colo


From: Christian Johansson
Subject: [elpa] externals/phps-mode 7fa869d 3/5: More optimization of syntax coloring of tokens
Date: Tue, 2 Nov 2021 12:05:33 -0400 (EDT)

branch: externals/phps-mode
commit 7fa869dae5dd788a8af4bfc5a4f553d639f64a09
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>

    More optimization of syntax coloring of tokens
---
 phps-mode-lex-analyzer.el | 41 +++++++++++++++++++++++++++--------------
 1 file changed, 27 insertions(+), 14 deletions(-)

diff --git a/phps-mode-lex-analyzer.el b/phps-mode-lex-analyzer.el
index 6e480c3..4869a24 100644
--- a/phps-mode-lex-analyzer.el
+++ b/phps-mode-lex-analyzer.el
@@ -730,25 +730,38 @@
 
 (defun phps-mode-lex-analyzer--get-token-syntax-color (token)
   "Return syntax color for TOKEN."
-  ;; Syntax coloring
-  ;; see 
https://www.gnu.org/software/emacs/manual/html_node/elisp/Faces-for-Font-Lock.html#Faces-for-Font-Lock
-  (let* ((start (car (cdr token)))
-         (end (cdr (cdr token)))
-         (bookkeeping-index (list start end))
-         (token-name (car token)))
-
-    ;; (message "Color token %s %s %s" token-name start end)
+  (let ((token-name (car token))
+        (start)
+        (end)
+        (bookkeeping-index)
+        (bookkeeping-value))
+    (when (gethash
+           token-name
+           phps-mode-lex-analyzer--token-for-bookkeeping-p)
+      (setq
+       start (car (cdr token)))
+      (setq
+       end (cdr (cdr token)))
+      (setq
+       bookkeeping-index
+       (list start end))
+      (setq
+       bookkeeping-value
+       (gethash
+        bookkeeping-index
+        phps-mode-lex-analyzer--bookkeeping)))
+
     (cond
 
-     ((and
-       (gethash token-name phps-mode-lex-analyzer--token-for-bookkeeping-p)
-       (gethash bookkeeping-index phps-mode-lex-analyzer--bookkeeping))
-      (let ((bookkeeping (gethash bookkeeping-index 
phps-mode-lex-analyzer--bookkeeping)))
-        (if (> bookkeeping 0)
+     ((when bookkeeping-value
+        (if (> bookkeeping-value 0)
             'font-lock-variable-name-face
           'font-lock-warning-face)))
 
-     ((when-let ((face (gethash token-name 
phps-mode-lex-analyzer--token-font-face)))
+     ((when-let ((face
+                  (gethash
+                   token-name
+                   phps-mode-lex-analyzer--token-font-face)))
         face))
 
      (t 'font-lock-constant-face))))



reply via email to

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