From 7579110534c39563ecda80a684b87523efb9bffd Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 23 Apr 2018 01:19:26 -0400 Subject: [PATCH] feature/lookup: fix lookup commands skipping to project text search --- modules/feature/lookup/autoload/lookup.el | 17 ++++++++++++++--- modules/feature/lookup/config.el | 4 ++-- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/modules/feature/lookup/autoload/lookup.el b/modules/feature/lookup/autoload/lookup.el index b3ae873ac..cd9390121 100644 --- a/modules/feature/lookup/autoload/lookup.el +++ b/modules/feature/lookup/autoload/lookup.el @@ -25,9 +25,10 @@ ((xref-backend-identifier-at-point (xref-find-backend))))) (defun +lookup--jump-to (prop identifier) - (cl-loop for fn in (plist-get '(:definition +lookup-definition-functions - :references +lookup-references-functions - :documentation +lookup-documentation-functions) + (cl-loop with origin = (point-marker) + for fn in (plist-get (list :definition +lookup-definition-functions + :references +lookup-references-functions + :documentation +lookup-documentation-functions) prop) for fn = (or (command-remapping fn) fn) if (condition-case e @@ -38,6 +39,16 @@ ('error (ignore (message "%s" e)))) return it)) +;;;###autoload +(defun +lookup-xref-definitions (identifier) + "Non-interactive wrapper for `xref-find-definitions'" + (xref-find-definitions identifier)) + +;;;###autoload +(defun +lookup-xref-references (identifier) + "Non-interactive wrapper for `xref-find-references'" + (xref-find-references identifier)) + ;; ;; Main commands diff --git a/modules/feature/lookup/config.el b/modules/feature/lookup/config.el index 78564bf48..9af34c628 100644 --- a/modules/feature/lookup/config.el +++ b/modules/feature/lookup/config.el @@ -33,12 +33,12 @@ produces an url. Used by `+lookup/online'.") (defvar +lookup-open-url-fn #'browse-url "Function to use to open search urls.") -(defvar +lookup-definition-functions '(xref-find-definitions) +(defvar +lookup-definition-functions '(+lookup-xref-definitions) "Functions for `+lookup/definition' to try, before resorting to `dumb-jump'. Stops at the first function to return non-nil or change the current window/point.") -(defvar +lookup-references-functions '(xref-find-references) +(defvar +lookup-references-functions '(+lookup-xref-references) "Functions for `+lookup/references' to try, before resorting to `dumb-jump'. Stops at the first function to return non-nil or change the current window/point.")