aboutsummaryrefslogtreecommitdiff
path: root/.config/emacs/minibuffer.el
diff options
context:
space:
mode:
authorJack Jamison <jjamison@litecoms.com>2026-07-30 11:10:16 -0400
committerJack Jamison <jjamison@litecoms.com>2026-07-30 11:10:16 -0400
commitd7fb76f6e7d942740c48016864de8b65588e336c (patch)
tree700941096404d109264db1cc5d0d468df825fcde /.config/emacs/minibuffer.el
parent244bafc426222b58d66e57d5eef7d4e2bccfddf1 (diff)
improvements and stuff
Diffstat (limited to '.config/emacs/minibuffer.el')
-rw-r--r--.config/emacs/minibuffer.el52
1 files changed, 49 insertions, 3 deletions
diff --git a/.config/emacs/minibuffer.el b/.config/emacs/minibuffer.el
index 678a13b..b51fbef 100644
--- a/.config/emacs/minibuffer.el
+++ b/.config/emacs/minibuffer.el
@@ -1,9 +1,24 @@
+;; better C-g dwim
+(defun keyboard-quit-dwim ()
+ (interactive)
+ (cond
+ ((region-active-p)
+ (keyboard-quit))
+ ((derived-mode-p 'completion-list-mode)
+ (delete-completion-window))
+ ((> (minibuffer-depth) 0)
+ (abort-recursive-edit))
+ (t
+ (keyboard-quit))))
+(define-key global-map (kbd "C-g") #'keyboard-quit-dwim)
+
+;; ui improvements
+
(use-package vertico
:ensure t
:hook (after-init . vertico-mode))
(use-package vertico-directory
- :ensure t
:after vertico
;; More convenient directory navigation commands
:bind (:map vertico-map
@@ -18,6 +33,17 @@
:ensure t
:hook (after-init . marginalia-mode))
+;; (use-package stillness
+;; :demand t
+;; :vc (:url "https://github.com/neeasade/stillness-mode.el" :branch "main"))
+
+;; sorting and history
+
+;; https://kristofferbalintona.me/articles/complement-corfu-vertico-and-completion-preview-with-prescientel-sorting/
+
+(use-package savehist
+ :hook (after-init . savehist-mode))
+
(use-package orderless
:ensure t
:config
@@ -25,5 +51,25 @@
(setq completion-category-defaults nil)
(setq completion-category-overrides nil))
-(use-package savehist
- :hook (after-init . savehist-mode))
+(use-package prescient
+ :ensure t
+ :custom
+ (prescient-aggressive-file-save t)
+ (prescient-sort-length-enable nil)
+ (prescient-sort-full-matches-first t)
+ (prescient-history-length 200)
+ (prescient-frequency-decay 0.997)
+ (prescient-frequency-threshold 0.05)
+ :config
+ (prescient-persist-mode 1))
+
+(use-package vertico-prescient
+ :ensure t
+ :demand t
+ :after vertico prescient
+ :custom
+ (vertico-prescient-enable-sorting t)
+ (vertico-prescient-override-sorting nil)
+ (vertico-prescient-enable-filtering nil) ; We want orderless to do the filtering
+ :config
+ (vertico-prescient-mode 1))