branch: master
commit 41b58500e0c978a005b24b332e896d567f28795e
Author: Oleh Krehel <[email protected]>
Commit: Oleh Krehel <[email protected]>
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