branch: master
commit 5d2938f4a43d4f7290c80d77a756f971efd6160c
Author: Oleh Krehel <ohwoeo...@gmail.com>
Commit: Oleh Krehel <ohwoeo...@gmail.com>

    counsel.el (counsel-git-grep): Works with ivy--regex-fuzzy
    
    `ivy-occur' works as well.
    
    Fixes #2243
---
 counsel.el | 9 ++++++++-
 ivy.el     | 2 +-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/counsel.el b/counsel.el
index b313d86..061a85c 100644
--- a/counsel.el
+++ b/counsel.el
@@ -1356,7 +1356,11 @@ Typical value: '(recenter)."
 
 (defun counsel-git-grep-cmd-function-default (str)
   (format counsel-git-grep-cmd
-          (setq ivy--old-re (ivy--regex str t))))
+          (setq ivy--old-re
+                (if (eq ivy--regex-function #'ivy--regex-fuzzy)
+                    (replace-regexp-in-string
+                     "\n" "" (ivy--regex-fuzzy str))
+                  (ivy--regex str t)))))
 
 (defun counsel-git-grep-cmd-function-ignore-order (str)
   (setq ivy--old-re (ivy--regex str t))
@@ -1543,6 +1547,9 @@ When CMD is non-nil, prompt for a specific \"git grep\" 
command."
 
 (defun counsel--git-grep-occur-cmd (input)
   (let* ((regex (funcall ivy--regex-function input))
+         (regex (if (eq ivy--regex-function #'ivy--regex-fuzzy)
+                    (replace-regexp-in-string "\n" "" regex)
+                  regex))
          (positive-pattern (replace-regexp-in-string
                             ;; git-grep can't handle .*?
                             "\\.\\*\\?" ".*"
diff --git a/ivy.el b/ivy.el
index 9bb5cad..05d8803 100644
--- a/ivy.el
+++ b/ivy.el
@@ -2465,7 +2465,7 @@ See `completion-in-region' for further information."
                   (string= str (car comps))))
            (message "Sole match"))
           (t
-           (when (eq collection #'crm--collection-fn)
+           (when (eq collection 'crm--collection-fn)
              (setq comps (delete-dups comps)))
            (let* ((len (ivy-completion-common-length (car comps)))
                   (initial (cond ((= len 0)

Reply via email to