emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/eglot 260f152 65/69: Fix #321: don't choke on single-lo


From: João Távora
Subject: [elpa] externals/eglot 260f152 65/69: Fix #321: don't choke on single-location reply to tD/definition
Date: Sun, 20 Oct 2019 08:21:54 -0400 (EDT)

branch: externals/eglot
commit 260f152634df2ba84ef3e51bdfd4f90a20babd9b
Author: João Távora <address@hidden>
Commit: João Távora <address@hidden>

    Fix #321: don't choke on single-location reply to tD/definition
    
    * eglot.el (eglot--lsp-xrefs-for-method): Accept non-vector
    Location.
---
 eglot.el | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/eglot.el b/eglot.el
index bb5d5f8..aa64fe6 100644
--- a/eglot.el
+++ b/eglot.el
@@ -1791,14 +1791,15 @@ Try to visit the target file for a richer summary line."
                         (cadr (split-string (symbol-name method)
                                             "/"))))))
     (eglot--error "Sorry, this server doesn't do %s" method))
-  (eglot--collecting-xrefs (collect)
-    (mapc
-     (eglot--lambda ((Location) uri range)
-       (collect (eglot--xref-make (symbol-at-point) uri range)))
-     (jsonrpc-request
-      (eglot--current-server-or-lose) method (append
-                                              
(eglot--TextDocumentPositionParams)
-                                              extra-params)))))
+  (let ((response
+         (jsonrpc-request
+          (eglot--current-server-or-lose)
+          method (append (eglot--TextDocumentPositionParams) extra-params))))
+    (eglot--collecting-xrefs (collect)
+      (mapc
+       (eglot--lambda ((Location) uri range)
+         (collect (eglot--xref-make (symbol-at-point) uri range)))
+       (if (vectorp response) response (list response))))))
 
 (cl-defun eglot--lsp-xref-helper (method &key extra-params capability )
   "Helper for `eglot-find-declaration' & friends."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]