refactor: Split out completion stuff
This commit is contained in:
@@ -11,8 +11,9 @@
|
|||||||
(add-to-list 'load-path (file-name-concat user-emacs-directory "modules"))
|
(add-to-list 'load-path (file-name-concat user-emacs-directory "modules"))
|
||||||
(add-to-list 'load-path (file-name-concat user-emacs-directory "lib"))
|
(add-to-list 'load-path (file-name-concat user-emacs-directory "lib"))
|
||||||
|
|
||||||
(require 'syd-autosave)
|
|
||||||
(require 'syd-age)
|
(require 'syd-age)
|
||||||
|
(require 'syd-autosave)
|
||||||
|
(require 'syd-completion)
|
||||||
(require 'syd-display-startup-time)
|
(require 'syd-display-startup-time)
|
||||||
(require 'syd-evil)
|
(require 'syd-evil)
|
||||||
(require 'syd-keybinds)
|
(require 'syd-keybinds)
|
||||||
|
|||||||
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
|
:config
|
||||||
(load-theme 'kanagawa-wave t))
|
(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)
|
(provide 'syd-ui)
|
||||||
|
|||||||
Reference in New Issue
Block a user