From 6a5a688ff0f121067f07a038cdbbe48331e9498c Mon Sep 17 00:00:00 2001 From: Oleh Krehel Date: Fri, 25 Mar 2016 21:43:09 +0100 Subject: [PATCH] counsel.el: Improve counsel-grep --- counsel.el | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/counsel.el b/counsel.el index 6afdbbc19..59926e370 100644 --- a/counsel.el +++ b/counsel.el @@ -1371,6 +1371,8 @@ This uses `counsel-ag' with `counsel-pt-base-command' replacing (re-search-forward (ivy--regex ivy-text t) (line-end-position) t) (unless (eq ivy-exit 'done) (swiper--cleanup) + (isearch-range-invisible (line-beginning-position) + (line-end-position)) (swiper--add-overlays (ivy--regex ivy-text))))))) ;;;###autoload @@ -1378,21 +1380,27 @@ This uses `counsel-ag' with `counsel-pt-base-command' replacing "Grep for a string in the current file." (interactive) (setq counsel--git-grep-dir (buffer-file-name)) - (ivy-read "grep: " 'counsel-grep-function - :dynamic-collection t - :preselect (format "%d:%s" - (line-number-at-pos) - (buffer-substring-no-properties - (line-beginning-position) - (line-end-position))) - :history 'counsel-git-grep-history - :update-fn (lambda () - (counsel-grep-action ivy--current)) - :action #'counsel-grep-action - :unwind (lambda () - (counsel-delete-process) - (swiper--cleanup)) - :caller 'counsel-grep)) + (let ((init-point (point)) + res) + (unwind-protect + (setq res (ivy-read "grep: " 'counsel-grep-function + :dynamic-collection t + :preselect (format "%d:%s" + (line-number-at-pos) + (buffer-substring-no-properties + (line-beginning-position) + (line-end-position))) + :history 'counsel-git-grep-history + :update-fn (lambda () + (counsel-grep-action ivy--current)) + :action #'counsel-grep-action + :unwind (lambda () + (counsel-delete-process) + (swiper--cleanup)) + :caller 'counsel-grep)) + (unless res + (goto-char init-point))))) + ;;** `counsel-recoll' (defun counsel-recoll-function (string) "Grep in the current directory for STRING." -- 2.39.2