Many improvements to corfu

This commit is contained in:
2024-10-15 16:43:52 -07:00
parent a0a1738ff6
commit b1f3a1a9f4
2 changed files with 349 additions and 6 deletions

48
init.el
View File

@ -24,7 +24,6 @@
package-user-dir "~/.emacs.d/var/elpa")
(require 'use-package))
;; no-littering
(use-package no-littering
:autoload (no-littering-theme-backups
@ -657,14 +656,49 @@ visual states."
(setq corfu-cycle t
corfu-auto t
corfu-on-exact-match nil
completion-cycle-threshold nil)
corfu-popupinfo-delay '(1.0 . 0.5)
completion-cycle-threshold nil
global-corfu-minibuffer
;; only enable corfu in the minibuffer in graphical frames
(lambda ()
(and (display-graphic-p)
(not (eq (current-local-map)
read-passwd-map)))))
(global-corfu-mode 1)
(corfu-popupinfo-mode 1)
:config
(add-to-list 'corfu-continue-commands #'my/corfu-move-to-minibuffer))
(add-to-list 'corfu-continue-commands #'my/corfu-move-to-minibuffer)
(defun my/help-buffer-exists-p ()
"Return if the buffer that `help-buffer' would, or nil if it doesn't exist."
(or (and help-xref-following (derived-mode-p 'help-mode))
(get-buffer "*Help*")))
(defun my/-corfu-popupinfo-close-help-buffer (oldfun &rest args)
(if (derived-mode-p 'emacs-lisp-mode)
(let ((help-buf (my/help-buffer-exists-p)))
(prog1
(apply oldfun args)
(when-let (((not help-buf))
(buf (help-buffer)))
;; Ensure that, even if `help-buffer' returns nil in the future, we
;; don't kill the current buffer
(kill-buffer buf))))
(apply oldfun args)))
(advice-add 'corfu-popupinfo--get-documentation :around
'my/-corfu-popupinfo-close-help-buffer))
(use-package corfu-terminal
:init
(corfu-terminal-mode 1))
(corfu-terminal-mode 1)
:config
(require 'corfu-terminal-popupinfo)
(corfu-terminal-popupinfo-mode 1))
(use-package dabbrev
:ensure nil
:config
(add-to-list 'dabbrev-ignored-buffer-regexps "\\` ")
(add-to-list 'dabbrev-ignored-buffer-modes 'doc-view-mode)
(add-to-list 'dabbrev-ignored-buffer-modes 'pdf-view-mode)
(add-to-list 'dabbrev-ignored-buffer-modes 'tags-table-mode))
;; cape (a bunch of capfs!)
(use-package cape
@ -1032,7 +1066,8 @@ COMMAND and COMINT are like `compile'."
'(rng-completion-at-point cape-file)))
(add-to-list 'auto-mode-alist
`(,(concat
(regexp-opt '("gschema" "gresource" "ui")) "\\'") . nxml-mode)))
(regexp-opt '("gschema" "gresource" "ui")) "\\'")
. nxml-mode)))
;; Bibtex (built in)
(require 'bibtex)
@ -1541,7 +1576,8 @@ argument."
(puthash nil (let ((eat-term-name (if (file-remote-p default-directory)
"xterm-256color"
eat-term-name)))
(eat)) my/project-eat-hash-table)))))
(eat))
my/project-eat-hash-table)))))
;; eshell stuff
(use-package eshell