branch: externals/consult-denote commit 4d32f7003cb413d7b011f445a6c323545ab6de74 Author: Protesilaos Stavrou <i...@protesilaos.com> Commit: Protesilaos Stavrou <i...@protesilaos.com>
Provide previews for commands like denote-find-link, denote-find-backlink Thanks to hapst3r for suggesting something like this in issue 7: <https://github.com/protesilaos/consult-denote/issues/7>. --- consult-denote.el | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/consult-denote.el b/consult-denote.el index 56fb361258..dd47e844d6 100644 --- a/consult-denote.el +++ b/consult-denote.el @@ -135,6 +135,17 @@ Return the absolute path to the matching file." ;; appropriately. absolute-file)) +(defun consult-denote-select-linked-file-prompt (files) + "Prompt for linked file among FILES." + (let ((file-names (mapcar #'denote-get-file-name-relative-to-denote-directory + files))) + (consult--read + (denote--completion-table 'file file-names) + :state (consult--file-preview) + :require-match t + :history 'denote-link-find-file-history + :prompt "Find linked file"))) + (defun consult-denote-select-linked-file-prompt (files) "Prompt for Denote file among FILES." (let* ((default-directory denote-directory) @@ -268,6 +279,7 @@ FILE has the same meaning as in `denote-org-extras-outline-prompt'." (add-to-list 'consult-buffer-sources source :append)) (advice-add #'denote-file-prompt :override #'consult-denote-file-prompt) (advice-add #'denote-select-linked-file-prompt :override #'consult-denote-select-linked-file-prompt) + (advice-add #'denote-select-linked-file-prompt :override #'consult-denote-select-linked-file-prompt) ;; See FIXME where this function is defined. (advice-add #'denote-org-extras-outline-prompt :override #'consult-denote-outline-prompt) (advice-add #'denote-silo-extras-directory-prompt :override #'consult-denote-silo-directory-prompt)) @@ -275,6 +287,7 @@ FILE has the same meaning as in `denote-org-extras-outline-prompt'." (setq consult-buffer-sources (delq source consult-buffer-sources))) (advice-remove #'denote-file-prompt #'consult-denote-file-prompt) (advice-remove #'denote-select-linked-file-prompt #'consult-denote-select-linked-file-prompt) + (advice-remove #'denote-select-linked-file-prompt #'consult-denote-select-linked-file-prompt) (advice-remove #'denote-org-extras-outline-prompt #'consult-denote-outline-prompt) (advice-remove #'denote-silo-extras-directory-prompt #'consult-denote-silo-directory-prompt)))