summaryrefslogtreecommitdiff
path: root/lisp/progmodes/project.el
diff options
context:
space:
mode:
authorDmitry Gutov <dgutov@yandex.ru>2019-05-24 04:50:44 +0300
committerDmitry Gutov <dgutov@yandex.ru>2019-05-24 04:50:44 +0300
commit62349fe82ad42d7d2a7fb19e40860ee5d6ebd017 (patch)
tree38c815c6ac736d801b314d5ddb067bcfdf076542 /lisp/progmodes/project.el
parent1cadab78e242834adab0fae3cb1feb691d52f8c5 (diff)
downloademacs-62349fe82ad42d7d2a7fb19e40860ee5d6ebd017.tar.gz
Support "reverting" Xref buffers (bug#35702)
* lisp/progmodes/xref.el (xref--fetcher): New variable. (xref--xref-buffer-mode-map): Add binding for 'g'. (xref--revert-xref-buffer): New command. (xref--show-xref-buffer): Accept a function as the first argument. (xref--show-xrefs): Same. (xref--find-xrefs): Pass the above a fetcher function. * lisp/progmodes/project.el (project-find-regexp) (project-or-external-find-regexp): Same. * lisp/dired-aux.el (dired-do-find-regexp): Same.
Diffstat (limited to 'lisp/progmodes/project.el')
-rw-r--r--lisp/progmodes/project.el10
1 files changed, 7 insertions, 3 deletions
diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el
index e44cee2133f..d494efa493a 100644
--- a/lisp/progmodes/project.el
+++ b/lisp/progmodes/project.el
@@ -351,7 +351,9 @@ requires quoting, e.g. `\\[quoted-insert]<space>'."
(project--files-in-directory dir
nil
(grep-read-files regexp))))))
- (project--find-regexp-in-files regexp files)))
+ (xref--show-xrefs
+ (apply-partially #'project--find-regexp-in-files regexp files)
+ nil)))
(defun project--dir-ignores (project dir)
(let* ((roots (project-roots project))
@@ -376,7 +378,9 @@ pattern to search for."
(project-files pr (append
(project-roots pr)
(project-external-roots pr)))))
- (project--find-regexp-in-files regexp files)))
+ (xref--show-xrefs
+ (apply-partially #'project--find-regexp-in-files regexp files)
+ nil)))
(defun project--find-regexp-in-files (regexp files)
(pcase-let*
@@ -418,7 +422,7 @@ pattern to search for."
(setq xrefs (xref--convert-hits (nreverse hits) regexp))
(unless xrefs
(user-error "No matches for: %s" regexp))
- (xref--show-xrefs xrefs nil)))
+ xrefs))
(defun project--process-file-region (start end program
&optional buffer display