branch: elpa/isl
commit 61e19a147ce042646a2afa7ea19c389cd0e69eed
Author: Thierry Volpiatto <[email protected]>
Commit: Thierry Volpiatto <[email protected]>
Add faces
---
isearch-light.el | 47 ++++++++++++++++++++++++++++++++++++++---------
1 file changed, 38 insertions(+), 9 deletions(-)
diff --git a/isearch-light.el b/isearch-light.el
index f41dcf7b733..e26cf40c854 100644
--- a/isearch-light.el
+++ b/isearch-light.el
@@ -7,6 +7,7 @@
(require 'iterator)
+;; Internals
(defvar isl-pattern "")
(defvar isl-current-buffer nil)
(defvar isl-item-overlays nil)
@@ -14,10 +15,38 @@
(defvar isl-last-overlay nil)
(defvar isl-direction nil)
(defvar isl-initial-pos nil)
-(defvar isl-case-fold-search 'smart
- "The `case-fold-search' value.")
(defvar isl-number-results 0)
(defvar isl-history nil)
+
+;; User vars
+(defvar isl-case-fold-search 'smart
+ "The `case-fold-search' value.")
+
+(defgroup isearch-light nil
+ "Open isl."
+ :prefix "isl-"
+ :group 'matching)
+
+(defface isl-match
+ `((t :background "Brown4"))
+ "Face used to highlight the items matched."
+ :group 'isearch-light)
+
+(defface isl-on
+ `((t :background "SandyBrown"
+ :foreground "black"))
+ "Face used to highlight the item where point is."
+ :group 'isearch-light)
+
+(defface isl-line
+ `((t :background "Darkgoldenrod1"))
+ "Face used to flash line on exit."
+ :group 'isearch-light)
+
+(defface isl-number
+ `((t :foreground "red"))
+ "Face used to highlight number in mode-line."
+ :group 'isearch-light)
(defvar isl-map
(let ((map (make-sparse-keymap)))
@@ -35,12 +64,12 @@
(defun isl-goto-next-1 ()
(with-selected-window (get-buffer-window isl-current-buffer)
(when (overlayp isl-last-overlay)
- (overlay-put isl-last-overlay 'face '(:background "brown")))
+ (overlay-put isl-last-overlay 'face 'isl-match))
(when isl-iterator
(let ((ov (iterator:next isl-iterator)))
(when ov
(setq isl-last-overlay ov)
- (overlay-put ov 'face '(:background "green"))
+ (overlay-put ov 'face 'isl-on)
(goto-char (overlay-start ov)))))))
(defun isl-goto-next ()
@@ -69,7 +98,7 @@
(interactive)
(with-selected-window (get-buffer-window isl-current-buffer)
(let ((ov (make-overlay (point-at-bol) (point-at-eol))))
- (overlay-put ov 'face '(:background "red"))
+ (overlay-put ov 'face 'isl-line)
(sit-for 0.1)
(delete-overlay ov))
(exit-minibuffer)))
@@ -97,14 +126,14 @@
(while (re-search-forward isl-pattern nil t)
(setq ov (make-overlay (match-beginning 0) (match-end 0)))
(push ov isl-item-overlays)
- (overlay-put ov 'face '(:background "brown")))
+ (overlay-put ov 'face 'isl-match))
(setq isl-item-overlays (reverse isl-item-overlays)))
(if (null isl-item-overlays)
(setq isl-number-results 0)
(setq isl-last-overlay
(isl-closest-overlay isl-initial-pos isl-item-overlays)
isl-number-results (length isl-item-overlays))
- (overlay-put isl-last-overlay 'face '(:background "green"))
+ (overlay-put isl-last-overlay 'face 'isl-on)
(isl--set-iterator)
(goto-char (overlay-start (iterator:next isl-iterator))))))
(isl--setup-mode-line))))
@@ -115,9 +144,9 @@
(default-value 'mode-line-format)
(format " [%s] results(s) found for `%s'"
(propertize (number-to-string isl-number-results)
- 'face '(:foreground "red"))
+ 'face 'isl-number)
(propertize isl-pattern
- 'face '(:foreground "green"))))))
+ 'face 'isl-on)))))
(defun isl-closest-overlay (pos overlays)
"Return closest overlay from POS in OVERLAYS list."