refactor: Split out completion stuff
This commit is contained in:
49
users/crumb/programs/emacs/modules/syd-completion.el
Normal file
49
users/crumb/programs/emacs/modules/syd-completion.el
Normal file
@@ -0,0 +1,49 @@
|
||||
;;; syd-completion.el -*- lexical-binding: t; -*-
|
||||
|
||||
(use-package emacs
|
||||
:custom
|
||||
;; Allow the opening of new minibuffers from inside existing minibuffers.
|
||||
((enable-recursive-minibuffers t)
|
||||
;; Hide commands in M-x which do not work in the current mode.
|
||||
(read-extended-command-predicate #'command-completion-default-include-p))
|
||||
:config
|
||||
;; Disable blinking cursor. Aesthetically, I personally don't fancy it;
|
||||
;; technically, it doesn't play well with `evil-terminal-cursor-changer'.
|
||||
(blink-cursor-mode -1))
|
||||
|
||||
;; Consult adds various search and navigation tools using Emacs' completing-read
|
||||
;; function; i.e., in our case, Vertico.
|
||||
(use-package consult
|
||||
:defer t)
|
||||
|
||||
;; Vertico is a simple completion engine that replaces Emacs' built-in
|
||||
;; completion engine, achieving Just Works™ compatibility. This is in contrast
|
||||
;; to e.g. Helm and Ivy, which spawn ecosystems orthogonal to Emacs, and
|
||||
;; diametrically-opposed to each other.
|
||||
(use-package vertico
|
||||
:hook (on-first-input . vertico-mode)
|
||||
:general (:keymaps 'vertico-map
|
||||
"DEL" #'vertico-directory-delete-char
|
||||
"C-SPC" #'+vertico/embark-preview
|
||||
"C-j" #'vertico-next
|
||||
"C-k" #'vertico-previous
|
||||
"C-M-j" #'vertico-next-group
|
||||
"C-M-k" #'vertico-previous-group)
|
||||
:config
|
||||
(setq-default completion-in-region-function #'consult-completion-in-region)
|
||||
;; Cleans up path when moving directories with shadowed paths syntax, e.g.
|
||||
;; cleans ~/foo/bar/// to /, and ~/foo/bar/~/ to ~/.
|
||||
(add-hook 'rfn-eshadow-update-overlay-hook #'vertico-directory-tidy))
|
||||
|
||||
;; Orderless provides a completion style that divides the pattern into
|
||||
;; space-separated components, and matches candidates that match all of the
|
||||
;; components in any order. Each component can match in any one of several
|
||||
;; ways: literally, as a regexp, as an initialism, in the flex style, or as
|
||||
;; multiple word prefixes. By default, regexp and literal matches are enabled.
|
||||
(use-package orderless
|
||||
:custom ((completion-styles '(orderless basic))
|
||||
(completion-category-overrides
|
||||
'((file (styles basic partial-completion))))))
|
||||
|
||||
|
||||
(provide 'syd-completion)
|
||||
@@ -5,49 +5,4 @@
|
||||
:config
|
||||
(load-theme 'kanagawa-wave t))
|
||||
|
||||
(use-package emacs
|
||||
:custom
|
||||
;; Allow the opening of new minibuffers from inside existing minibuffers.
|
||||
((enable-recursive-minibuffers t)
|
||||
;; Hide commands in M-x which do not work in the current mode.
|
||||
(read-extended-command-predicate #'command-completion-default-include-p))
|
||||
:config
|
||||
;; Disable blinking cursor. Aesthetically, I personally don't fancy it;
|
||||
;; technically, it doesn't play well with `evil-terminal-cursor-changer'.
|
||||
(blink-cursor-mode -1))
|
||||
|
||||
;; Consult adds various search and navigation tools using Emacs' completing-read
|
||||
;; function; i.e., in our case, Vertico.
|
||||
(use-package consult
|
||||
:defer t)
|
||||
|
||||
;; Vertico is a simple completion engine that replaces Emacs' built-in
|
||||
;; completion engine, achieving Just Works™ compatibility. This is in contrast
|
||||
;; to e.g. Helm and Ivy, which spawn ecosystems orthogonal to Emacs, and
|
||||
;; diametrically-opposed to each other.
|
||||
(use-package vertico
|
||||
:hook (on-first-input . vertico-mode)
|
||||
:general (:keymaps 'vertico-map
|
||||
"DEL" #'vertico-directory-delete-char
|
||||
"C-SPC" #'+vertico/embark-preview
|
||||
"C-j" #'vertico-next
|
||||
"C-k" #'vertico-previous
|
||||
"C-M-j" #'vertico-next-group
|
||||
"C-M-k" #'vertico-previous-group)
|
||||
:config
|
||||
(setq-default completion-in-region-function #'consult-completion-in-region)
|
||||
;; Cleans up path when moving directories with shadowed paths syntax, e.g.
|
||||
;; cleans ~/foo/bar/// to /, and ~/foo/bar/~/ to ~/.
|
||||
(add-hook 'rfn-eshadow-update-overlay-hook #'vertico-directory-tidy))
|
||||
|
||||
;; Orderless provides a completion style that divides the pattern into
|
||||
;; space-separated components, and matches candidates that match all of the
|
||||
;; components in any order. Each component can match in any one of several
|
||||
;; ways: literally, as a regexp, as an initialism, in the flex style, or as
|
||||
;; multiple word prefixes. By default, regexp and literal matches are enabled.
|
||||
(use-package orderless
|
||||
:custom ((completion-styles '(orderless basic))
|
||||
(completion-category-overrides
|
||||
'((file (styles basic partial-completion))))))
|
||||
|
||||
(provide 'syd-ui)
|
||||
|
||||
Reference in New Issue
Block a user