Replace completion backend in shortcut function with consult

This is more consistent with other completion functions.
This commit is contained in:
Daniel Borchmann 2025-08-07 16:58:19 +02:00
parent 2159114cba
commit 7a906344bb
No known key found for this signature in database
GPG Key ID: 50EA937BF472ADD1

67
init.el
View File

@ -2463,6 +2463,7 @@ Note that this workaround is incomplete, as explained in this comment."
consult-mark consult-mark
consult-yank-pop consult-yank-pop
consult-outline) consult-outline)
:autoload (consult--multi)
:init (progn :init (progn
;; Settings taken from https://protesilaos.com/emacs/dotemacs#h:22e97b4c-d88d-4deb-9ab3-f80631f9ff1d ;; Settings taken from https://protesilaos.com/emacs/dotemacs#h:22e97b4c-d88d-4deb-9ab3-f80631f9ff1d
(setq consult-line-numbers-widen t (setq consult-line-numbers-widen t
@ -2487,39 +2488,37 @@ Note that this workaround is incomplete, as explained in this comment."
;; * Navigation ;; * Navigation
(defun db/helm-shortcuts (arg) (defun db/shortcuts ()
"Open helm completion on common locations. "Open helm completion on common locations."
(interactive)
With universal argument ARG, inhibit display of files in (let (sources)
`db/important-document-path. This might be helpful when loading (push (list :name "Frequently Used"
is too slow (in this case, `db/important-document-path' should :items (mapcar #'(lambda (entry)
eventuelly be set to nil, however)." (cons (car entry)
(interactive "P") (caddr entry)))
(helm :sources (list db/frequently-used-features)
(helm-make-source "Frequently Used" 'helm-source-sync :annotate #'(lambda (_) "")
:candidates (mapcar #'(lambda (entry) :action #'call-interactively)
(cons (car entry) sources)
(caddr entry))) (push 'consult--source-bookmark
db/frequently-used-features) sources)
:action '(("Open" . call-interactively))) (when (file-directory-p db/important-documents-path)
(let ((search-path (expand-file-name db/important-documents-path)))
helm-source-bookmarks (push (list :name "Important Files"
:narrow ?f
;; If no prefix arg is given, extract files from :items (mapcar #'(lambda (file)
;; `db/important-documents-path and list them as well ;; Display only relative path,
(when (and (not arg) ;; but keep absolute path for
(file-directory-p db/important-documents-path)) ;; actions
(let ((search-path (expand-file-name db/important-documents-path))) (cons (string-remove-prefix search-path file)
(helm-make-source "Important files" 'helm-source-sync file))
:candidates (mapcar #'(lambda (file) (directory-files-recursively search-path ""))
;; Display only relative path, :annotate #'(lambda (_) "")
;; but keep absolute path for :action #'db/system-open)
;; actions sources)))
(cons (string-remove-prefix search-path file) (consult--multi (nreverse sources)
file)) :require-match t
(directory-files-recursively search-path "")) :sort nil)))
:action '(("Open externally" . db/system-open)
("Find file" . find-file))))))))
(use-package ace-window (use-package ace-window
:ensure t :ensure t
@ -3174,7 +3173,7 @@ eventuelly be set to nil, however)."
(bind-key "C-x C-j" #'dired-jump) (bind-key "C-x C-j" #'dired-jump)
(bind-key "C-x C-r" #'revert-buffer) (bind-key "C-x C-r" #'revert-buffer)
(bind-key "C-x SPC" #'hydra-rectangle/body) (bind-key "C-x SPC" #'hydra-rectangle/body)
(bind-key "C-x g" #'db/helm-shortcuts) (bind-key "C-x g" #'db/shortcuts)
(bind-key "C-x r E" #'db/bookmark-add-external) (bind-key "C-x r E" #'db/bookmark-add-external)
(bind-key "C-x r M" #'db/bookmark-add-url) (bind-key "C-x r M" #'db/bookmark-add-url)
(bind-key "C-x r v" #'list-registers) (bind-key "C-x r v" #'list-registers)