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

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

[elpa] master 2ed4416 165/184: ivy.el (ivy-configure): Add :exit-codes


From: Oleh Krehel
Subject: [elpa] master 2ed4416 165/184: ivy.el (ivy-configure): Add :exit-codes
Date: Wed, 16 Oct 2019 13:15:15 -0400 (EDT)

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

    ivy.el (ivy-configure): Add :exit-codes
---
 counsel.el | 30 ++++++++++++------------------
 ivy.el     | 12 ++++++++++--
 2 files changed, 22 insertions(+), 20 deletions(-)

diff --git a/counsel.el b/counsel.el
index 2df98cc..a43ae0b 100644
--- a/counsel.el
+++ b/counsel.el
@@ -1334,8 +1334,6 @@ INITIAL-INPUT can be given as the initial minibuffer 
input."
     (define-key map (kbd "C-x C-d") 'counsel-cd)
     map))
 
-(counsel-set-async-exit-code 'counsel-git-grep 1 "No matches found")
-
 (defvar counsel-git-grep-cmd-default "git --no-pager grep --full-name -n 
--no-color -i -I -e \"%s\""
   "Initial command for `counsel-git-grep'.")
 
@@ -1522,7 +1520,8 @@ When CMD is non-nil, prompt for a specific \"git grep\" 
command."
   :unwind-fn #'counsel--grep-unwind
   :index-fn #'ivy-recompute-index-swiper-async
   :display-transformer-fn #'counsel-git-grep-transformer
-  :grep-p t)
+  :grep-p t
+  :exit-codes '(1 "No matches found"))
 
 (defun counsel-git-grep-proj-function (str)
   "Grep for STR in the current Git repository."
@@ -2418,8 +2417,6 @@ string - the full shell command to run."
    ("r" counsel-find-file-as-root "open as root")
    ("d" counsel-locate-action-dired "dired")))
 
-(counsel-set-async-exit-code 'counsel-locate 1 "Nothing found")
-
 (defvar counsel-locate-history nil
   "History for `counsel-locate'.")
 
@@ -2519,7 +2516,8 @@ INITIAL-INPUT can be given as the initial minibuffer 
input."
             :caller 'counsel-locate))
 
 (ivy-configure 'counsel-locate
-  :unwind-fn #'counsel-delete-process)
+  :unwind-fn #'counsel-delete-process
+  :exit-codes '(1 "Nothing found"))
 
 ;;** `counsel-fzf'
 (defvar counsel-fzf-cmd "fzf -f \"%s\""
@@ -2573,7 +2571,8 @@ FZF-PROMPT, if non-nil, is passed as `ivy-read' prompt 
argument."
 
 (ivy-configure 'counsel-fzf
   :occur #'counsel-fzf-occur
-  :unwind-fn #'counsel-delete-process)
+  :unwind-fn #'counsel-delete-process
+  :exit-codes '(1 "Nothing found"))
 
 (defun counsel-fzf-action (x)
   "Find file X in current fzf directory."
@@ -2595,8 +2594,6 @@ FZF-PROMPT, if non-nil, is passed as `ivy-read' prompt 
argument."
  '(("x" counsel-locate-action-extern "xdg-open")
    ("d" counsel-locate-action-dired "dired")))
 
-(counsel-set-async-exit-code 'counsel-fzf 1 "Nothing found")
-
 ;;** `counsel-dpkg'
 ;;;###autoload
 (defun counsel-dpkg ()
@@ -2760,8 +2757,6 @@ regex string."
 
 (defvar counsel--regex-look-around nil)
 
-(counsel-set-async-exit-code 'counsel-ag 1 "No matches found")
-
 (defconst counsel--command-args-separator "-- ")
 
 (defun counsel--split-command-args (arguments)
@@ -2858,7 +2853,8 @@ CALLER is passed to `ivy-read'."
   :occur #'counsel-ag-occur
   :unwind-fn #'counsel--grep-unwind
   :display-transformer-fn #'counsel-git-grep-transformer
-  :grep-p t)
+  :grep-p t
+  :exit-codes '(1 "No matches found"))
 
 (defun counsel-cd ()
   "Change the directory for the currently running Ivy grep-like command.
@@ -2952,8 +2948,6 @@ This uses `counsel-ag' with `counsel-ack-base-command' 
replacing
 Note: don't use single quotes for the regex."
   :type 'string)
 
-(counsel-set-async-exit-code 'counsel-rg 1 "No matches found")
-
 (defun counsel--rg-targets ()
   "Return a list of files to operate on, based on `dired-mode' marks."
   (if (eq major-mode 'dired-mode)
@@ -2996,7 +2990,8 @@ Example input with inclusion and exclusion file patterns:
   :occur #'counsel-ag-occur
   :unwind-fn #'counsel--grep-unwind
   :display-transformer-fn #'counsel-git-grep-transformer
-  :grep-p t)
+  :grep-p t
+  :exit-codes '(1 "No matches found"))
 
 ;;** `counsel-grep'
 (defvar counsel-grep-map
@@ -3077,8 +3072,6 @@ relative to the last position stored here.")
       (buffer-file-name
        (ivy-state-buffer ivy-last)))))))
 
-(counsel-set-async-exit-code 'counsel-grep 1 "")
-
 (defvar counsel-grep-history nil
   "History for `counsel-grep'.")
 
@@ -3125,7 +3118,8 @@ When non-nil, INITIAL-INPUT is the initial search 
pattern."
   :index-fn #'ivy-recompute-index-swiper-async
   :occur #'counsel-grep-occur
   :more-chars 2
-  :grep-p t)
+  :grep-p t
+  :exit-codes '(1 ""))
 
 ;;;###autoload
 (defun counsel-grep-backward (&optional initial-input)
diff --git a/ivy.el b/ivy.el
index 99f9d2e..c589147 100644
--- a/ivy.el
+++ b/ivy.el
@@ -1910,6 +1910,8 @@ May supersede `ivy-initial-inputs-alist'."
       (set alist-sym (cons (cons key val)
                            (symbol-value alist-sym))))))
 
+(declare-function counsel-set-async-exit-code "counsel")
+
 (cl-defun ivy-configure (caller
                          &key
                            initial-input
@@ -1922,7 +1924,8 @@ May supersede `ivy-initial-inputs-alist'."
                            format-fn
                            display-transformer-fn
                            more-chars
-                           grep-p)
+                           grep-p
+                           exit-codes)
   "Configure `ivy-read' params for CALLER."
   (declare (indent 1))
   (when initial-input
@@ -1946,7 +1949,12 @@ May supersede `ivy-initial-inputs-alist'."
   (when more-chars
     (ivy--alist-set 'ivy-more-chars-alist caller more-chars))
   (when grep-p
-    (cl-pushnew caller ivy-highlight-grep-commands)))
+    (cl-pushnew caller ivy-highlight-grep-commands))
+  (when exit-codes
+    (let (code msg)
+      (while (and (setq code (pop exit-codes))
+                  (setq msg (pop exit-codes)))
+        (counsel-set-async-exit-code caller code msg)))))
 
 (defcustom ivy-sort-max-size 30000
   "Sorting won't be done for collections larger than this."



reply via email to

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