[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/symbol-overlay 33e5138fa9 083/152: add faces, replace colo
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/symbol-overlay 33e5138fa9 083/152: add faces, replace color logic with face logic |
Date: |
Thu, 7 Jul 2022 12:04:17 -0400 (EDT) |
branch: elpa/symbol-overlay
commit 33e5138fa92469131fc386d4ef1b25406507a6c7
Author: Emacs Watcher <emacswatcher@gmail.com>
Commit: Emacs Watcher <emacswatcher@gmail.com>
add faces, replace color logic with face logic
---
symbol-overlay.el | 125 ++++++++++++++++++++++++++++++++++++++----------------
1 file changed, 88 insertions(+), 37 deletions(-)
diff --git a/symbol-overlay.el b/symbol-overlay.el
index dc66754443..d3cfb122c7 100644
--- a/symbol-overlay.el
+++ b/symbol-overlay.el
@@ -84,6 +84,76 @@
"Highlight symbols with keymap-enabled overlays."
:group 'convenience)
+(defface symbol-overlay-default-face
+ '((t (:box (:line-width -1))))
+ "Symbol Overlay default face")
+
+
+(defface symbol-overlay-face-1
+ '((t (:box (:line-width -1 :color "dodger blue"))))
+ "Symbol Overlay default candidate 1")
+
+(defface symbol-overlay-face-2
+ '((t (:box (:line-width -1 :color "hot pink"))))
+ "Symbol Overlay default candidate 2")
+
+(defface symbol-overlay-face-3
+ '((t (:box (:line-width -1 :color "yellow"))))
+ "Symbol Overlay default candidate 3")
+
+(defface symbol-overlay-face-4
+ '((t (:box (:line-width -1 :color "orchid"))))
+ "Symbol Overlay default candidate 4")
+
+(defface symbol-overlay-face-5
+ '((t (:box (:line-width -1 :color "red"))))
+ "Symbol Overlay default candidate 5")
+
+(defface symbol-overlay-face-6
+ '((t (:box (:line-width -1 :color "salmon"))))
+ "Symbol Overlay default candidate 6")
+
+(defface symbol-overlay-face-7
+ '((t (:box (:line-width -1 :color "spring green"))))
+ "Symbol Overlay default candidate 7")
+
+(defface symbol-overlay-face-8
+ '((t (:box (:line-width -1 :color "turquoise"))))
+ "Symbol Overlay default candidate 8")
+
+(defcustom symbol-overlay-faces '(symbol-overlay-face-1
+ symbol-overlay-face-2
+ symbol-overlay-face-3
+ symbol-overlay-face-4
+ symbol-overlay-face-5
+ symbol-overlay-face-6
+ symbol-overlay-face-7
+ symbol-overlay-face-8)
+ "Faces used for overlays."
+ :type '(repeat face)
+ :group 'symbol-overlay
+ )
+
+(defcustom symbol-overlay-colors
+ '("dodger blue"
+ "hot pink"
+ "orange"
+ "orchid"
+ "red"
+ "salmon"
+ "spring green"
+ "turquoise")
+ "Colors used for overlays' background.
+You can add more colors whatever you like."
+ :type '(repeat string)
+ :group 'symbol-overlay
+ )
+
+(defcustom symbol-overlay-idle-time 0.5
+ "Idle time after every command and before the temporary highlighting."
+ :group 'symbol-overlay
+ :type 'float)
+
(defvar symbol-overlay-map
(let ((map (make-sparse-keymap)))
(define-key map (kbd "i") 'symbol-overlay-put)
@@ -102,21 +172,6 @@ You can re-bind the commands to any keys you prefer.")
(defvar-local symbol-overlay-keywords-alist nil)
-(defcustom symbol-overlay-colors '("dodger blue"
- "hot pink"
- "orange"
- "orchid"
- "red"
- "salmon"
- "spring green"
- "turquoise")
- "Colors used for overlays' background.
-You can add more colors whatever you like.")
-
-(defcustom symbol-overlay-idle-time 0.5
- "Idle time after every command and before the temporary highlighting."
- :type 'float)
-
;;;###autoload
(define-minor-mode symbol-overlay-mode
"Minor mode for auto-highlighting symbol at point."
@@ -198,10 +253,6 @@ depending on SCOPE and WINDOW."
(forward-line lines)
(narrow-to-region beg (point)))))))
-(defface symbol-overlay-temp-face
- '((t (:inherit 'highlight)))
- "Face for temporary highlighting.")
-
(defun symbol-overlay-remove-temp ()
"Delete all temporary overlays."
(mapc 'delete-overlay (symbol-overlay-get-list ""))
@@ -244,42 +295,42 @@ This only effects symbols in the current displayed
window."
(unless (string= (symbol-overlay-get-symbol nil t)
symbol-overlay-temp-symbol)
(symbol-overlay-remove-temp)))
-(defun symbol-overlay-put-one (symbol &optional color)
+(defun symbol-overlay-put-one (symbol &optional face)
"Put overlay on current occurrence of SYMBOL after a match.
-If COLOR is non-nil, use it as the overlay face's background color.
-Otherwise use `symbol-overlay-temp-face' as the face."
+If FACE is non-nil, use it as the overlay’s face.
+Otherwise apply `symbol-overlay-default-face'."
(let ((ov (make-overlay (match-beginning 0) (match-end 0))))
- (if color (progn (overlay-put ov 'face `(:background ,color :foreground
"black"))
- (overlay-put ov 'keymap symbol-overlay-map)
- (overlay-put ov 'evaporate t)
- (overlay-put ov 'symbol symbol))
- (overlay-put ov 'face 'symbol-overlay-temp-face)
+ (if face (progn (overlay-put ov 'face face)
+ (overlay-put ov 'keymap symbol-overlay-map)
+ (overlay-put ov 'evaporate t)
+ (overlay-put ov 'symbol symbol))
+ (overlay-put ov 'face 'symbol-overlay-default-face)
(overlay-put ov 'symbol ""))))
(defun symbol-overlay-put-all (symbol scope &optional keyword)
"Put overlays on all occurrences of SYMBOL in the buffer.
-The background color is randomly picked from `symbol-overlay-colors'.
+The face is randomly 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."
(let* ((case-fold-search nil)
- (limit (length symbol-overlay-colors))
- (color (or (symbol-overlay-maybe-remove keyword)
- (elt symbol-overlay-colors (random limit))))
+ (limit (length symbol-overlay-faces))
+ (face (or (symbol-overlay-maybe-remove keyword)
+ (elt symbol-overlay-faces (random limit))))
(alist symbol-overlay-keywords-alist)
- (colors (mapcar 'cddr alist))
+ (faces (mapcar 'cddr alist))
(pt (point)))
(if (< (length alist) limit)
- (while (seq-position colors color)
- (setq color (elt symbol-overlay-colors (random limit))))
- (setq color (symbol-overlay-maybe-remove (car (last alist)))))
+ (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))
(save-excursion
(save-restriction
(symbol-overlay-narrow scope)
(goto-char (point-min))
(while (re-search-forward symbol nil t)
- (symbol-overlay-put-one symbol color))))
- (setq keyword `(,symbol ,scope . ,color))
+ (symbol-overlay-put-one symbol face))))
+ (setq keyword `(,symbol ,scope . ,face))
(push keyword symbol-overlay-keywords-alist)
keyword))
- [nongnu] elpa/symbol-overlay 6992e5e65c 111/152: add new var: symbol-overlay-displayed-window, (continued)
- [nongnu] elpa/symbol-overlay 6992e5e65c 111/152: add new var: symbol-overlay-displayed-window, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 8629a4ddbe 147/152: Merge pull request #76 from mattbeshara/cancel-timer-when-buffer-killed, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 4231a36e39 145/152: Merge pull request #73 from tarsiiformes/keyword, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay c439b73a5f 152/152: Merge pull request #78 from mattbeshara/single-active-timer, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 2ad907ae15 009/152: edit the descripition, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 50d645bc05 013/152: Merge branch 'syohex-fix-package', ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 6e1f23d6f2 023/152: fix an overlay error, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 81d069f2c4 020/152: (v2.3) add save-symbol, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay b00771b093 073/152: 170814, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 03da3c1d43 078/152: Merge pull request #11 from purcell/patch-2, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 33e5138fa9 083/152: add faces, replace color logic with face logic,
ELPA Syncer <=
- [nongnu] elpa/symbol-overlay 2138e296fd 088/152: Merge pull request #18 from wbolster/major-mode-ignore-callbacks, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay dc3a9b4cd3 093/152: Merge pull request #23 from tarsiiformes/custom-type, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 8bcb681bcb 099/152: Merge pull request #27 from dakra/add-go-support, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 88c3ed02a0 115/152: bind kbd < > to jump-first/last, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 7fa58ecaa7 144/152: Avoid positional arguments to define-minor-mode, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay a37404a6a0 097/152: Merge pull request #26 from jguenther/patch-1, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 831506ee12 103/152: Merge pull request #29 from Wilfred/font-customize, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 18d2f4ea65 148/152: Enable lexical-binding use hashed symbols for better compiler warnings, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay 5290fd464f 150/152: Only use one timer for all buffers, ELPA Syncer, 2022/07/07
- [nongnu] elpa/symbol-overlay a71d6d1f31 018/152: add auto-refresh, ELPA Syncer, 2022/07/07