branch: master
commit 4ad797bf49ef4a160ad556cdb2a284b9abf40e8d
Author: Oleh Krehel <[email protected]>
Commit: Oleh Krehel <[email protected]>
Improve "C-g" out of a long-running async process
* counsel.el (counsel-delete-process): New defun.
(counsel-locate):
(counsel-ag): Use `counsel-delete-process' as :unwind.
---
counsel.el | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/counsel.el b/counsel.el
index 22dc505..129a8ce 100644
--- a/counsel.el
+++ b/counsel.el
@@ -556,6 +556,11 @@ Skip some dotfiles unless `ivy-text' requires them."
(ivy--regex str))))
'("" "working...")))
+(defun counsel-delete-process ()
+ (let ((process (get-process " *counsel*")))
+ (when process
+ (delete-process process))))
+
;;;###autoload
(defun counsel-locate ()
"Call locate shell command."
@@ -565,7 +570,8 @@ Skip some dotfiles unless `ivy-text' requires them."
:history 'counsel-locate-history
:action (lambda (file)
(when file
- (find-file file)))))
+ (find-file file)))
+ :unwind #'counsel-delete-process))
(defun counsel--generic (completion-fn)
"Complete thing at point with COMPLETION-FN."
@@ -1000,7 +1006,9 @@ INITIAL-INPUT can be given as the initial minibuffer
input."
:dynamic-collection t
:history 'counsel-git-grep-history
:action #'counsel-git-grep-action
- :unwind #'swiper--cleanup))
+ :unwind (lambda ()
+ (counsel-delete-process)
+ (swiper--cleanup))))
(defun counsel-recoll-function (string &optional _pred &rest _unused)
"Grep in the current directory for STRING."