branch: elpa/isl
commit 902061c4ac860fdc271b681dd5d7abcc948aab61
Author: Thierry Volpiatto <[email protected]>
Commit: Thierry Volpiatto <[email protected]>
Improve mode-line
---
isearch-light.el | 32 +++++++++++++++++++++-----------
1 file changed, 21 insertions(+), 11 deletions(-)
diff --git a/isearch-light.el b/isearch-light.el
index e26cf40c854..e8006be9509 100644
--- a/isearch-light.el
+++ b/isearch-light.el
@@ -44,9 +44,14 @@
:group 'isearch-light)
(defface isl-number
- `((t :foreground "red"))
+ `((t :foreground "green"))
"Face used to highlight number in mode-line."
:group 'isearch-light)
+
+(defface isl-string
+ `((t :foreground "Lightgoldenrod1" :bold t))
+ "Face used to highlight pattern in mode-line."
+ :group 'isearch-light)
(defvar isl-map
(let ((map (make-sparse-keymap)))
@@ -66,11 +71,12 @@
(when (overlayp isl-last-overlay)
(overlay-put isl-last-overlay 'face 'isl-match))
(when isl-iterator
- (let ((ov (iterator:next isl-iterator)))
- (when ov
+ (let* ((ov (iterator:next isl-iterator))
+ (pos (and ov (overlay-start ov))))
+ (when (and ov pos)
(setq isl-last-overlay ov)
(overlay-put ov 'face 'isl-on)
- (goto-char (overlay-start ov)))))))
+ (goto-char pos))))))
(defun isl-goto-next ()
(interactive)
@@ -140,13 +146,17 @@
(defun isl--setup-mode-line ()
(setq mode-line-format
- (if (string= isl-pattern "")
- (default-value 'mode-line-format)
- (format " [%s] results(s) found for `%s'"
- (propertize (number-to-string isl-number-results)
- 'face 'isl-number)
- (propertize isl-pattern
- 'face 'isl-on)))))
+ (cond ((string= isl-pattern "")
+ (default-value 'mode-line-format))
+ ((zerop isl-number-results)
+ (format " No results found for `%s'"
+ (propertize isl-pattern
+ 'face 'isl-on)))
+ (t (format " [%s] results(s) found for `%s'"
+ (propertize (number-to-string isl-number-results)
+ 'face 'isl-number)
+ (propertize isl-pattern
+ 'face 'isl-string))))))
(defun isl-closest-overlay (pos overlays)
"Return closest overlay from POS in OVERLAYS list."