[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/eglot 5571f10 05/45: Sort references and definitions by
From: |
João Távora |
Subject: |
[elpa] externals/eglot 5571f10 05/45: Sort references and definitions by line number |
Date: |
Thu, 22 Nov 2018 19:15:26 -0500 (EST) |
branch: externals/eglot
commit 5571f102517509e8731c7aa6f1d3ba8dcff84666
Author: Michał K <address@hidden>
Commit: Michał Krzywkowski <address@hidden>
Sort references and definitions by line number
* eglot.el (eglot--sort-xrefs): New function.
(xref-backend-definitions):
(xref-backend-references):
(xref-backend-apropos): Use it.
---
eglot.el | 47 ++++++++++++++++++++++++++++-------------------
1 file changed, 28 insertions(+), 19 deletions(-)
diff --git a/eglot.el b/eglot.el
index 41863cc..7e79b16 100644
--- a/eglot.el
+++ b/eglot.el
@@ -1323,6 +1323,12 @@ DUMMY is ignored."
;; F!@(#*&#$)CKING OFF-BY-ONE again
(1+ line) character))))
+(defun eglot--sort-xrefs (xrefs)
+ (sort xrefs
+ (lambda (a b)
+ (< (xref-location-line (xref-item-location a))
+ (xref-location-line (xref-item-location b))))))
+
(cl-defmethod xref-backend-identifier-completion-table ((_backend (eql eglot)))
(when (eglot--server-capable :documentSymbolProvider)
(let ((server (eglot--current-server-or-lose))
@@ -1363,9 +1369,10 @@ DUMMY is ignored."
:textDocument/definition
(get-text-property
0 :textDocumentPositionParams identifier)))))
- (mapcar (jsonrpc-lambda (&key uri range)
- (eglot--xref-make identifier uri (plist-get range :start)))
- location-or-locations)))
+ (eglot--sort-xrefs
+ (mapcar (jsonrpc-lambda (&key uri range)
+ (eglot--xref-make identifier uri (plist-get range :start)))
+ location-or-locations))))
(cl-defmethod xref-backend-references ((_backend (eql eglot)) identifier)
(unless (eglot--server-capable :referencesProvider)
@@ -1376,25 +1383,27 @@ DUMMY is ignored."
(and rich (get-text-property 0 :textDocumentPositionParams
rich))))))
(unless params
(eglot--error "Don' know where %s is in the workspace!" identifier))
- (mapcar
- (jsonrpc-lambda (&key uri range)
- (eglot--xref-make identifier uri (plist-get range :start)))
- (jsonrpc-request (eglot--current-server-or-lose)
- :textDocument/references
- (append
- params
- (list :context
- (list :includeDeclaration t)))))))
+ (eglot--sort-xrefs
+ (mapcar
+ (jsonrpc-lambda (&key uri range)
+ (eglot--xref-make identifier uri (plist-get range :start)))
+ (jsonrpc-request (eglot--current-server-or-lose)
+ :textDocument/references
+ (append
+ params
+ (list :context
+ (list :includeDeclaration t))))))))
(cl-defmethod xref-backend-apropos ((_backend (eql eglot)) pattern)
(when (eglot--server-capable :workspaceSymbolProvider)
- (mapcar
- (jsonrpc-lambda (&key name location &allow-other-keys)
- (cl-destructuring-bind (&key uri range) location
- (eglot--xref-make name uri (plist-get range :start))))
- (jsonrpc-request (eglot--current-server-or-lose)
- :workspace/symbol
- `(:query ,pattern)))))
+ (eglot--sort-xrefs
+ (mapcar
+ (jsonrpc-lambda (&key name location &allow-other-keys)
+ (cl-destructuring-bind (&key uri range) location
+ (eglot--xref-make name uri (plist-get range :start))))
+ (jsonrpc-request (eglot--current-server-or-lose)
+ :workspace/symbol
+ `(:query ,pattern))))))
(defun eglot-format-buffer ()
"Format contents of current buffer."
- [elpa] externals/eglot updated (821b498 -> f291816), João Távora, 2018/11/22
- [elpa] externals/eglot 489080b 02/45: eglot-ignored-server-capabilites: Prefer all choices over "Other", João Távora, 2018/11/22
- [elpa] externals/eglot 69b8428 01/45: Make eglot-ignored-server-capabilites more user-friendly (#126), João Távora, 2018/11/22
- [elpa] externals/eglot 31fcd91 03/45: Handle case when diagnostic :character is out of range, João Távora, 2018/11/22
- [elpa] externals/eglot 9585b74 04/45: Merge pull request #104 from mkcms/fix-diagnostics-wrong-type-argument, João Távora, 2018/11/22
- [elpa] externals/eglot ff04bc0 06/45: Improve signature help, João Távora, 2018/11/22
- [elpa] externals/eglot f250784 10/45: Handle case when project was not found in eclipse.jdt.ls contact, João Távora, 2018/11/22
- [elpa] externals/eglot c795e3e 09/45: Override eglot-execute-command for eclipse.jdt.ls server, João Távora, 2018/11/22
- [elpa] externals/eglot 5571f10 05/45: Sort references and definitions by line number,
João Távora <=
- [elpa] externals/eglot f0b5367 08/45: Per #63: Add support for eclipse.jdt.ls server, João Távora, 2018/11/22
- [elpa] externals/eglot 5b043fb 12/45: * .travis.yml (install): Download eclipse.jdt.ls server., João Távora, 2018/11/22
- [elpa] externals/eglot aefa498 20/45: Larger margin for printing test failure backtraces, João Távora, 2018/11/22
- [elpa] externals/eglot 19aded0 17/45: Remove duplicates from imenu, João Távora, 2018/11/22
- [elpa] externals/eglot 504fd25 14/45: Fix misspelling of "outstanding" (#74), João Távora, 2018/11/22
- [elpa] externals/eglot a406190 07/45: Per #63: Allow function contacts to be interactive, João Távora, 2018/11/22
- [elpa] externals/eglot 27696d6 23/45: Use the container name of a symbol in imenu, João Távora, 2018/11/22
- [elpa] externals/eglot 6ebbd36 11/45: Add tests for eclipse.jdt.ls connection, João Távora, 2018/11/22
- [elpa] externals/eglot 22e5c57 18/45: Don't ignore unknown SymbolKinds in imenu, João Távora, 2018/11/22
- [elpa] externals/eglot 5ee05f9 16/45: Require subr-x at compile time (#139), João Távora, 2018/11/22