From 08f32e6d0f0b4af5668de5f75294039898dca9cf Mon Sep 17 00:00:00 2001 From: "Itai Y. Efrat" Date: Sat, 7 May 2022 10:31:02 +0300 Subject: [PATCH] tweak(vertico): improve org consult source - only add if :lang org is on - have a version that works before org is loaded --- modules/completion/vertico/config.el | 30 +++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/modules/completion/vertico/config.el b/modules/completion/vertico/config.el index 1cdbaeca5..a46dfed32 100644 --- a/modules/completion/vertico/config.el +++ b/modules/completion/vertico/config.el @@ -136,14 +136,30 @@ orderless." (consult-customize consult-theme :preview-key (list (kbd "C-SPC") :debounce 0.5 'any)) - (after! org + (when (featurep! :lang org) (defvar +vertico--consult-org-source - `(:name "Org" - :narrow ?o - :hidden t - :category buffer - :state ,#'consult--buffer-state - :items ,(lambda () (mapcar #'buffer-name (org-buffer-list))))) + (list :name "Org Buffer" + :category 'buffer + :narrow ?o + :hidden t + :face 'consult-buffer + :history 'buffer-name-history + :state #'consult--buffer-state + :new + (lambda (name) + (with-current-buffer (get-buffer-create name) + (insert "#+title: " name "\n\n") + (org-mode) + (consult--buffer-action (current-buffer)))) + :items + (lambda () + (mapcar #'buffer-name + (if (featurep 'org) + (org-buffer-list) + (seq-filter + (lambda (x) + (eq (buffer-local-value 'major-mode x) 'org-mode)) + (buffer-list))))))) (add-to-list 'consult-buffer-sources '+vertico--consult-org-source 'append)))