emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master 7159d84 03/67: swiper.el (swiper--regex): Zero groups with


From: Oleh Krehel
Subject: [elpa] master 7159d84 03/67: swiper.el (swiper--regex): Zero groups without space
Date: Sun, 22 Mar 2015 17:33:48 +0000

branch: master
commit 7159d845d1bf0a3a3e5aa8d168076887cceae6be
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>

    swiper.el (swiper--regex): Zero groups without space
    
    * swiper.el (swiper--update-input): Update the face order accordingly.
---
 swiper.el |   48 +++++++++++++++++++++++++++---------------------
 1 files changed, 27 insertions(+), 21 deletions(-)

diff --git a/swiper.el b/swiper.el
index 2ead1c5..caf5818 100644
--- a/swiper.el
+++ b/swiper.el
@@ -46,15 +46,15 @@
   "Face for `swiper' matches.")
 
 (defface swiper-match-face-2
-  '((t (:background "#F15C79")))
+  '((t (:background "#F9A35A")))
   "Face for `swiper' matches.")
 
 (defface swiper-match-face-3
-  '((t (:background "#F9A35A")))
+  '((t (:background "#fb7905")))
   "Face for `swiper' matches.")
 
 (defface swiper-match-face-4
-  '((t (:background "#fb7905")))
+  '((t (:background "#F15C79")))
   "Face for `swiper' matches.")
 
 (defface swiper-line-face
@@ -160,10 +160,13 @@
                   (let ((overlay (make-overlay (match-beginning i)
                                                (match-end i)))
                         (face
-                         (if (zerop i)
-                             (car swiper-faces)
-                           (nth (1+ (mod i (1- (length swiper-faces))))
-                                swiper-faces))))
+                         (cond ((zerop swiper--subexps)
+                                (caddr swiper-faces))
+                               ((zerop i)
+                                (car swiper-faces))
+                               (t
+                                (nth (1+ (mod (1- i) (1- (length 
swiper-faces))))
+                                     swiper-faces)))))
                     (push overlay swiper--overlays)
                     (overlay-put overlay 'face face)
                     (overlay-put overlay 'priority i)
@@ -251,20 +254,23 @@
 
 (defun swiper--regex ()
   "Re-build regex in case it has a space."
-  (cdr
-   (let ((hashed (gethash helm-input swiper--regex-hash)))
-     (if hashed
-         (prog1 hashed
-           (setq swiper--subexps (car hashed)))
-       (puthash helm-input
-                (let ((subs (split-string helm-input " +" t)))
-                  (cons
-                   (setq swiper--subexps (length subs))
-                   (mapconcat
-                    (lambda (x) (format "\\(%s\\)" x))
-                    subs
-                    ".*")))
-                swiper--regex-hash)))))
+  (let ((hashed (gethash helm-input swiper--regex-hash)))
+    (if hashed
+        (prog1 (cdr hashed)
+          (setq swiper--subexps (car hashed)))
+      (cdr (puthash helm-input
+                    (let ((subs (split-string helm-input " +" t)))
+                      (if (= (length subs) 1)
+                          (cons
+                           (setq swiper--subexps 0)
+                           (car subs))
+                        (cons
+                         (setq swiper--subexps (length subs))
+                         (mapconcat
+                          (lambda (x) (format "\\(%s\\)" x))
+                          subs
+                          ".*"))))
+                    swiper--regex-hash)))))
 
 (defun swiper--action (x)
   "Goto line X."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]