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."

Reply via email to