[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/symbol-overlay 72ff963a0f 4/4: Merge pull request #97 from
|
From: |
ELPA Syncer |
|
Subject: |
[nongnu] elpa/symbol-overlay 72ff963a0f 4/4: Merge pull request #97 from tarsiiformes/non-random |
|
Date: |
Wed, 3 May 2023 07:03:52 -0400 (EDT) |
branch: elpa/symbol-overlay
commit 72ff963a0f44497b6cc688607357ee65c68ecc84
Merge: 6f7130ec71 1677554c12
Author: Steve Purcell <steve@sanityinc.com>
Commit: GitHub <noreply@github.com>
Merge pull request #97 from tarsiiformes/non-random
Use symbol-overlay-faces in order, reuse last face if needed
---
symbol-overlay.el | 18 +++++++-----------
1 file changed, 7 insertions(+), 11 deletions(-)
diff --git a/symbol-overlay.el b/symbol-overlay.el
index 252633b0c5..0bdc051dd9 100644
--- a/symbol-overlay.el
+++ b/symbol-overlay.el
@@ -382,22 +382,18 @@ Otherwise apply `symbol-overlay-default-face'."
(defun symbol-overlay-put-all (symbol scope &optional keyword)
"Put overlays on all occurrences of SYMBOL in the buffer.
-The face is randomly picked from `symbol-overlay-faces'.
+The face is picked from `symbol-overlay-faces'.
If SCOPE is non-nil, put overlays only on occurrences in scope.
If KEYWORD is non-nil, remove it then use its color on new overlays."
(when symbol-overlay-temp-symbol
(symbol-overlay-remove-temp))
(let* ((case-fold-search nil)
- (limit (length symbol-overlay-faces))
- (face (or (symbol-overlay-maybe-remove keyword)
- (elt symbol-overlay-faces (random limit))))
- (alist symbol-overlay-keywords-alist)
- (faces (mapcar #'cddr alist)))
- (if (< (length alist) limit)
- (while (seq-position faces face)
- (setq face (elt symbol-overlay-faces (random limit))))
- (setq face (symbol-overlay-maybe-remove (car (last alist)))))
- (and symbol-overlay-temp-symbol (symbol-overlay-remove-temp))
+ (face (or (car (cl-set-difference
+ symbol-overlay-faces
+ (mapcar #'cddr symbol-overlay-keywords-alist)))
+ ;; If we have exhausted the available faces, then just
+ ;; keep using the last face for all subsequent symbols.
+ (car (last symbol-overlay-faces)))))
(save-excursion
(save-restriction
(symbol-overlay-narrow scope)