[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))))