[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/eglot f74a80f 27/45: Make imenu hierarchical
From: |
João Távora |
Subject: |
[elpa] externals/eglot f74a80f 27/45: Make imenu hierarchical |
Date: |
Thu, 22 Nov 2018 19:15:31 -0500 (EST) |
branch: externals/eglot
commit f74a80fd7138ab948fdb2bb0950cd31a7dba2fba
Author: Michał Krzywkowski <address@hidden>
Commit: mkcms <address@hidden>
Make imenu hierarchical
* eglot.el (eglot-imenu): Use :containerName to build a nested imenu
index alist.
---
eglot.el | 25 +++++++++++++++++--------
1 file changed, 17 insertions(+), 8 deletions(-)
diff --git a/eglot.el b/eglot.el
index f11a14e..22f509b 100644
--- a/eglot.el
+++ b/eglot.el
@@ -1670,20 +1670,29 @@ If SKIP-SIGNATURE, don't try to send
textDocument/signatureHelp."
(jsonrpc-lambda
(&key name kind location containerName _deprecated)
(cons (propertize
- (concat
- (and (stringp containerName)
- (not (string-empty-p containerName))
- (concat containerName "::"))
- name)
+ name
:kind (alist-get kind eglot--symbol-kind-names
- "(Unknown)"))
+ "Unknown")
+ :containerName (and (stringp containerName)
+ (not (string-empty-p containerName))
+ containerName))
(eglot--lsp-position-to-point
(plist-get (plist-get location :range) :start))))
(jsonrpc-request (eglot--current-server-or-lose)
:textDocument/documentSymbol
`(:textDocument
,(eglot--TextDocumentIdentifier))))))
- (seq-group-by (lambda (e) (get-text-property 0 :kind (car e)))
- entries))
+ (mapcar
+ (pcase-lambda (`(,kind . ,syms))
+ (let ((syms-by-scope (seq-group-by
+ (lambda (e)
+ (get-text-property 0 :containerName (car
e)))
+ syms)))
+ (cons kind (cl-loop for (scope . elems) in syms-by-scope
+ append (if scope
+ (list (cons scope elems))
+ elems)))))
+ (seq-group-by (lambda (e) (get-text-property 0 :kind (car e)))
+ entries)))
(funcall oldfun)))
(defun eglot--apply-text-edits (edits &optional version)
- [elpa] externals/eglot ee41f06 22/45: Slightly robustify test engine, (continued)
- [elpa] externals/eglot ee41f06 22/45: Slightly robustify test engine, João Távora, 2018/11/22
- [elpa] externals/eglot faf93ad 13/45: * eglot-tests.el: Disable eclipse connection tests., João Távora, 2018/11/22
- [elpa] externals/eglot c664f40 28/45: * eglot.el (eglot-client-capabilities): Mention supported SymbolKinds., João Távora, 2018/11/22
- [elpa] externals/eglot edc6538 32/45: Fix a bug introduced by previous bugfix, João Távora, 2018/11/22
- [elpa] externals/eglot d6e0ba3 31/45: * eglot-tests.el (eclipse-connect): Increase connect timeout to 20., João Távora, 2018/11/22
- [elpa] externals/eglot 31bfe21 24/45: Add support for code action literals, João Távora, 2018/11/22
- [elpa] externals/eglot 11cd074 29/45: Support ocaml-language-server out of the box (#149), João Távora, 2018/11/22
- [elpa] externals/eglot 7b4ed97 33/45: Fix #124: add ability to move to LSP-precise columns, João Távora, 2018/11/22
- [elpa] externals/eglot f2ccb77 25/45: Simplify eglot-code-action. Fix compilation warning, João Távora, 2018/11/22
- [elpa] externals/eglot 2a410e9 30/45: Move constants to top instead of forward-declaring, João Távora, 2018/11/22
- [elpa] externals/eglot f74a80f 27/45: Make imenu hierarchical,
João Távora <=
- [elpa] externals/eglot 118f966 26/45: Fix a bug when response to definitions request is a single location, João Távora, 2018/11/22
- [elpa] externals/eglot 3c180c0 19/45: Rework test macros for hopefully more stable testing, João Távora, 2018/11/22
- [elpa] externals/eglot b31ba80 35/45: Tweak solution to #125 with a hint from Fangrui Song, João Távora, 2018/11/22
- [elpa] externals/eglot fdb1941 36/45: Add support for TextEdits in completion, João Távora, 2018/11/22
- [elpa] externals/eglot d66f2eb 39/45: Treat tab characters as 1 column wide in position conversion functions, João Távora, 2018/11/22
- [elpa] externals/eglot b731db5 41/45: Add support for R's languageserver (#161), João Távora, 2018/11/22
- [elpa] externals/eglot de1728c 44/45: * eglot.el (eglot-completion-at-point): Less chatter., João Távora, 2018/11/22
- [elpa] externals/eglot fc03d7c 40/45: Fix #160: Properly delete inserted text after completion, João Távora, 2018/11/22
- [elpa] externals/eglot 604c1b0 38/45: Per #144: Format documentation of signature parameters, João Távora, 2018/11/22
- [elpa] externals/eglot 894fe5a 42/45: Fix #154: fix potential security issue fontifying LSP doc, João Távora, 2018/11/22