diff --git a/modules/completion/selectrum/TODO.org b/modules/completion/selectrum/TODO.org index 64b1d82a0..c5a91a98d 100644 --- a/modules/completion/selectrum/TODO.org +++ b/modules/completion/selectrum/TODO.org @@ -19,7 +19,15 @@ https://github.com/minad/marginalia/issues/59 In ivy, backspace on =/foo/bar/!= (where =!= is the cursor) leads to =/foo/!= In selectrum, it leads to =/foo/bar!= ** TODO =SPC s B= -** TODO ~:pg~ support +** TODO modules to look over +- lookup +- taskrunner (doesn't seem to be an interface yet) +- pass (creating embark-pass can't be that hard) +- irc +- org (check, might be fine) +- counsel-minibuffer-history analogue +- counsel-company analogue +- bibtex * PROJ Other ** TODO bind =consult-lsp-diagnostics= to something? ** TODO test out bibtex-actions, check if more configuration should be added diff --git a/modules/completion/selectrum/autoload/evil.el b/modules/completion/selectrum/autoload/evil.el new file mode 100644 index 000000000..048444458 --- /dev/null +++ b/modules/completion/selectrum/autoload/evil.el @@ -0,0 +1,14 @@ +;; completion/selectrum/autoload/evil.el -*- lexical-binding: t; -*- +;;;###if (featurep! :editor evil) + +;;;###autoload (autoload '+selectrum:project-search "completion/ivy/autoload/evil" nil t) +(evil-define-command +selectrum:project-search (query &optional all-files-p) + "Ex interface for `+selectrum/project-search'." + (interactive "") + (+selectrum/project-search all-files-p query)) + +;;;###autoload (autoload '+selectrum:project-search-from-cwd "completion/ivy/autoload/evil" nil t) +(evil-define-command +selectrum:project-search-from-cwd (query &optional recurse-p) + "Ex interface for `+selectrum/project-search-from-cwd'." + (interactive "") + (+selectrum/project-search-from-cwd (not recurse-p) query)) diff --git a/modules/config/default/config.el b/modules/config/default/config.el index 215b52e70..618fcef13 100644 --- a/modules/config/default/config.el +++ b/modules/config/default/config.el @@ -16,7 +16,9 @@ ((featurep! :completion helm) '(helm-map helm-rg-map - helm-read-file-map)))) + helm-read-file-map)) + ((featurep! :completion selectrum) + '(selectrum-minibuffer-map)))) "A list of all the keymaps used for the minibuffer.") diff --git a/modules/editor/evil/+commands.el b/modules/editor/evil/+commands.el index f7063a26f..e667823ca 100644 --- a/modules/editor/evil/+commands.el +++ b/modules/editor/evil/+commands.el @@ -68,7 +68,10 @@ ((featurep! :completion helm) (evil-ex-define-cmd "pg[rep]" #'+helm:project-search) - (evil-ex-define-cmd "pg[grep]d" #'+helm:project-search-from-cwd))) + (evil-ex-define-cmd "pg[grep]d" #'+helm:project-search-from-cwd)) + ((featurep! :completion selectrum) + (evil-ex-define-cmd "pg[rep]" #'+selectrum:project-search) + (evil-ex-define-cmd "pg[grep]d" #'+selectrum:project-search-from-cwd))) ;;; Project tools (evil-ex-define-cmd "com[pile]" #'+evil:compile) diff --git a/modules/email/mu4e/config.el b/modules/email/mu4e/config.el index a736d3e19..274bcc24e 100644 --- a/modules/email/mu4e/config.el +++ b/modules/email/mu4e/config.el @@ -42,10 +42,11 @@ mu4e-context-policy 'pick-first ;; compose with the current context, or ask mu4e-compose-context-policy 'ask-if-none - ;; use helm/ivy + ;; use helm/ivy/selectrum mu4e-completing-read-function - (cond ((featurep! :completion ivy) #'ivy-completing-read) - ((featurep! :completion helm) #'completing-read) + (cond ((featurep! :completion ivy) #'ivy-completing-read) + ((featurep! :completion helm) #'completing-read) + ((featurep! :completion selectrum) #'completing-read) (t #'ido-completing-read)) ;; no need to ask mu4e-confirm-quit nil diff --git a/modules/email/notmuch/config.el b/modules/email/notmuch/config.el index 34ec3f90d..f99fb7ac6 100644 --- a/modules/email/notmuch/config.el +++ b/modules/email/notmuch/config.el @@ -103,3 +103,9 @@ OR a shell command string such as :when (featurep! :completion helm) :commands helm-notmuch :after notmuch) + + +(use-package! consult-notmuch + :when (featurep! :completion selectrum) + :commands consult-notmuch + :after notmuch) diff --git a/modules/email/notmuch/packages.el b/modules/email/notmuch/packages.el index 8da851ba7..7c699b80c 100644 --- a/modules/email/notmuch/packages.el +++ b/modules/email/notmuch/packages.el @@ -8,3 +8,5 @@ (package! counsel-notmuch :pin "a4a1562935e4180c42524c51609d1283e9be0688")) (when (featurep! :completion helm) (package! helm-notmuch :pin "97a01497e079a7b6505987e9feba6b603bbec288")) +(when (featurep! :completion selectrum) + (package! consult-notmuch :pin "67cf219fcce211237347a783ce6982402341d5fd"))