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

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

[elpa] externals/embark 376662e 3/6: embark-consult-toc-imenu: Use the i


From: ELPA Syncer
Subject: [elpa] externals/embark 376662e 3/6: embark-consult-toc-imenu: Use the imenu category
Date: Tue, 16 Nov 2021 16:57:16 -0500 (EST)

branch: externals/embark
commit 376662e119df24bc5b3cc5973ed9cea00a15de89
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>

    embark-consult-toc-imenu: Use the imenu category
    
    Reasons:
    
    * Preserve the `consult-imenu` actions and annotations.
    * Imenu entries are not necessarily lines as assumed for `consult-location`.
    * Using `line-number-at-pos` within the exporter is O(n*m).
---
 embark-consult.el | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/embark-consult.el b/embark-consult.el
index c0d9f9e..f80d59d 100644
--- a/embark-consult.el
+++ b/embark-consult.el
@@ -317,13 +317,10 @@ that is a Consult async command."
   "Collect all outline headings in the current buffer."
   (cons 'consult-location (consult--outline-candidates)))
 
+(autoload 'consult-imenu--items "consult-imenu")
 (defun embark-consult-toc-imenu ()
   "Collect all imenu items in the current buffer."
-  (cons 'consult-location
-        (mapcar (pcase-lambda (`(,item . ,pos))
-                  (propertize item 'consult-location
-                              (cons pos (line-number-at-pos pos))))
-                (consult-imenu--items))))
+  (cons 'imenu (mapcar #'car (consult-imenu--items))))
 
 (add-to-list 'embark-candidate-collectors #'embark-consult-toc-outline 'append)
 



reply via email to

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