Many improvements to corfu
This commit is contained in:
48
init.el
48
init.el
@ -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
|
||||
|
Reference in New Issue
Block a user