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

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

[elpa] master 41b5850 005/167: ivy.el (ivy--regex-fuzzy): Add minibuffer


From: Oleh Krehel
Subject: [elpa] master 41b5850 005/167: ivy.el (ivy--regex-fuzzy): Add minibuffer highlighting
Date: Tue, 08 Dec 2015 10:49:33 +0000

branch: master
commit 41b58500e0c978a005b24b332e896d567f28795e
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>

    ivy.el (ivy--regex-fuzzy): Add minibuffer highlighting
    
    * ivy-test.el (ivy--regex-fuzzy): Update test.
    
    Re #207
---
 ivy-test.el |    7 +++----
 ivy.el      |   11 ++++++++---
 2 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/ivy-test.el b/ivy-test.el
index 10dd8f9..76f2dde 100644
--- a/ivy-test.el
+++ b/ivy-test.el
@@ -84,11 +84,11 @@
 
 (ert-deftest ivy--regex-fuzzy ()
   (should (string= (ivy--regex-fuzzy "tmux")
-                   "t.*m.*u.*x"))
+                   "\\(t\\).*\\(m\\).*\\(u\\).*\\(x\\)"))
   (should (string= (ivy--regex-fuzzy "^tmux")
-                   "^t.*m.*u.*x"))
+                   "^\\(t\\).*\\(m\\).*\\(u\\).*\\(x\\)"))
   (should (string= (ivy--regex-fuzzy "^tmux$")
-                   "^t.*m.*u.*x$"))
+                   "^\\(t\\).*\\(m\\).*\\(u\\).*\\(x\\)$"))
   (should (string= (ivy--regex-fuzzy "")
                    ""))
   (should (string= (ivy--regex-fuzzy "^")
@@ -121,4 +121,3 @@
                  '("the" "The")))
   (should (equal (ivy--filter "The" '("foo" "the" "The"))
                  '("The"))))
-
diff --git a/ivy.el b/ivy.el
index 0dab956..5f7ed6f 100644
--- a/ivy.el
+++ b/ivy.el
@@ -1226,9 +1226,14 @@ Everything after \"!\" should not match."
   "Build a regex sequence from STR.
 Insert .* between each char."
   (if (string-match "\\`\\(\\^?\\)\\(.*?\\)\\(\\$?\\)\\'" str)
-      (concat (match-string 1 str)
-              (mapconcat #'string (string-to-list (match-string 2 str)) ".*")
-              (match-string 3 str))
+      (prog1
+          (concat (match-string 1 str)
+                  (mapconcat
+                   (lambda (x)
+                     (format "\\(%c\\)" x))
+                   (string-to-list (match-string 2 str)) ".*")
+                  (match-string 3 str))
+        (setq ivy--subexps (length (match-string 2 str))))
     str))
 
 ;;** Rest



reply via email to

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