From: Don Armstrong Date: Mon, 28 Aug 2023 20:31:00 +0000 (-0700) Subject: tweak corfu to quit if there's no match; edit in minibuffer allowed X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;ds=sidebyside;h=5c6e26ae742398b3d4e486599e4379bda2558ef4;p=lib.git tweak corfu to quit if there's no match; edit in minibuffer allowed --- diff --git a/emacs_el/configuration/don-configuration.org b/emacs_el/configuration/don-configuration.org index e771943..cd1fd38 100644 --- a/emacs_el/configuration/don-configuration.org +++ b/emacs_el/configuration/don-configuration.org @@ -525,22 +525,35 @@ value, scrolling continues until there is no more output. ** Corfu #+BEGIN_SRC emacs-lisp (use-package corfu - :ensure t - :demand t ;; Optional customizations :custom (corfu-cycle t) ;; Enable cycling for `corfu-next/previous' (corfu-auto t) ;; Enable auto completion (corfu-separator ?\s) ;; Orderless field separator - (corfu-quit-at-boundary nil) ;; Never quit at completion boundary - (corfu-quit-no-match nil) ;; Never quit, even if there is no match + (corfu-quit-at-boundary t) + (corfu-quit-no-match 'separator) (corfu-preview-current nil) ;; Disable current candidate preview (corfu-preselect 'prompt) ;; Preselect the prompt (corfu-on-exact-match nil) ;; Configure handling of exact matches (corfu-scroll-margin 5) ;; Use scroll margin + :bind ( + :map corfu-map + ("M-m" , corfu-move-to-minibuffer) + ) + :init + (global-corfu-mode) + (setq completion-cycle-threshold 3) + (setq tab-always-indent 'complete) :config - (global-corfu-mode)) + (defun corfu-move-to-minibuffer () + (interactive) + (when completion-in-region--data + (let ((completion-extra-properties corfu--extra) + completion-cycle-threshold completion-cycling) + (apply #'consult-completion-in-region completion-in-region--data)))) + (add-to-list 'corfu-continue-commands #'corfu-move-to-minibuffer) + ) #+END_SRC ** Dabbrv #+BEGIN_SRC emacs-lisp