branch: master commit 41b58500e0c978a005b24b332e896d567f28795e Author: Oleh Krehel <ohwoeo...@gmail.com> Commit: Oleh Krehel <ohwoeo...@gmail.com>
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