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

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

[elpa] master e4e0ec4 049/184: counsel.el (counsel--file-name-filter): R


From: Oleh Krehel
Subject: [elpa] master e4e0ec4 049/184: counsel.el (counsel--file-name-filter): Return "cat" on empty input
Date: Wed, 16 Oct 2019 13:14:47 -0400 (EDT)

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

    counsel.el (counsel--file-name-filter): Return "cat" on empty input
    
    "ag" errors on empty input.
---
 counsel.el | 48 +++++++++++++++++++++++++-----------------------
 1 file changed, 25 insertions(+), 23 deletions(-)

diff --git a/counsel.el b/counsel.el
index 742de0c..d976ae0 100644
--- a/counsel.el
+++ b/counsel.el
@@ -1984,29 +1984,31 @@ one that exists will be used.")
   "Return a command that filters a file list to match ivy candidates.
 If USE-IGNORE is non-nil, try to generate a command that respects
 `counsel-find-file-ignore-regexp'."
-  (let ((regex ivy--old-re)
-        (filter-cmd (cl-find-if
-                     (lambda (x)
-                       (executable-find
-                        (car (split-string (car x)))))
-                     counsel-file-name-filter-alist))
-        cmd)
-    (when (and use-ignore ivy-use-ignore
-               counsel-find-file-ignore-regexp
-               (cdr filter-cmd)
-               (not (string-match-p "\\`\\." ivy-text))
-               (not (string-match-p counsel-find-file-ignore-regexp
-                                    (or (car ivy--old-cands) ""))))
-      (let ((ignore-re (list (counsel--elisp-to-pcre
-                              counsel-find-file-ignore-regexp))))
-        (setq regex (if (stringp regex)
-                        (list ignore-re (cons regex t))
-                      (cons ignore-re regex)))))
-    (setq cmd (format (car filter-cmd)
-                      (counsel--elisp-to-pcre regex (cdr filter-cmd))))
-    (if (string-match-p "csh\\'" shell-file-name)
-        (replace-regexp-in-string "\\?!" "?\\\\!" cmd)
-      cmd)))
+  (let ((regex ivy--old-re))
+    (if (= 0 (length regex))
+        "cat"
+      (let ((filter-cmd (cl-find-if
+                         (lambda (x)
+                           (executable-find
+                            (car (split-string (car x)))))
+                         counsel-file-name-filter-alist))
+            cmd)
+        (when (and use-ignore ivy-use-ignore
+                   counsel-find-file-ignore-regexp
+                   (cdr filter-cmd)
+                   (not (string-match-p "\\`\\." ivy-text))
+                   (not (string-match-p counsel-find-file-ignore-regexp
+                                        (or (car ivy--old-cands) ""))))
+          (let ((ignore-re (list (counsel--elisp-to-pcre
+                                  counsel-find-file-ignore-regexp))))
+            (setq regex (if (stringp regex)
+                            (list ignore-re (cons regex t))
+                          (cons ignore-re regex)))))
+        (setq cmd (format (car filter-cmd)
+                          (counsel--elisp-to-pcre regex (cdr filter-cmd))))
+        (if (string-match-p "csh\\'" shell-file-name)
+            (replace-regexp-in-string "\\?!" "?\\\\!" cmd)
+          cmd)))))
 
 (defun counsel--occur-cmd-find ()
   (let ((cmd (format



reply via email to

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