diff options
author | Dmitry Gutov <dgutov@yandex.ru> | 2019-05-24 04:50:44 +0300 |
---|---|---|
committer | Dmitry Gutov <dgutov@yandex.ru> | 2019-05-24 04:50:44 +0300 |
commit | 62349fe82ad42d7d2a7fb19e40860ee5d6ebd017 (patch) | |
tree | 38c815c6ac736d801b314d5ddb067bcfdf076542 /lisp/progmodes/project.el | |
parent | 1cadab78e242834adab0fae3cb1feb691d52f8c5 (diff) | |
download | emacs-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.el | 10 |
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 |