commit
10484dea87
3 changed files with 23 additions and 26 deletions
|
@ -193,9 +193,13 @@ A few variables may be set to change behavior of this module:
|
|||
- [[var:corfu-preview-current]] ::
|
||||
Configures current candidate preview.
|
||||
- [[var:+corfu-want-ret-to-confirm]] ::
|
||||
Enables commiting with [[RET]] when the popup is visible. Default is ~t~, may be set to
|
||||
~'minibuffer~ if you want to commit both the completion and the minibuffer when
|
||||
active. When ~nil~, it is always passed-through.
|
||||
Controls the behavior of [[kbd:][RET]] when the popup is visible - whether it confirms
|
||||
the selected candidate, and whether [[kbd:][RET]] is passed through (ie. the normal
|
||||
behavior of [[kbd:][RET]] is performed). The default value of ~t~ enables confirmation
|
||||
and disables pass-through. Other variations are ~nil~ for pass-through and no
|
||||
confirmation and ~both~ for confirmation followed by pass-through. Finally,
|
||||
the value of ~minibuffer~ will both confirm and pass-through (like ~both~)
|
||||
when in the minibuffer, and only confirm (like ~t~) otherwise.
|
||||
- [[var:+corfu-buffer-scanning-size-limit]] ::
|
||||
Sets the maximum buffer size to be scanned by ~cape-dabbrev~. Defaults to 1 MB.
|
||||
Set this if you are having performance problems using the CAPF.
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
"Configure how the user expects RET to behave.
|
||||
Possible values are:
|
||||
- t (default): Insert candidate if one is selected, pass-through otherwise;
|
||||
- `minibuffer': Insert candidate if one is selected, pass-through otherwise,
|
||||
and immediatelly exit if in the minibuffer;
|
||||
- nil: Pass-through without inserting.")
|
||||
- nil: Pass-through without inserting;
|
||||
- `both': Insert candidate if one is selected, then pass-through;
|
||||
- `minibuffer': Behaves like `both` in the minibuffer and `t` otherwise.")
|
||||
|
||||
(defvar +corfu-buffer-scanning-size-limit (* 1 1024 1024) ; 1 MB
|
||||
"Size limit for a buffer to be scanned by `cape-dabbrev'.")
|
||||
|
|
|
@ -466,28 +466,21 @@ Continues comments if executed from a commented line."
|
|||
(let ((cmds-del
|
||||
`(menu-item "Reset completion" corfu-reset
|
||||
:filter ,(lambda (cmd)
|
||||
(cond
|
||||
((and (>= corfu--index 0)
|
||||
(when (and (>= corfu--index 0)
|
||||
(eq corfu-preview-current 'insert))
|
||||
cmd)))))
|
||||
cmd))))
|
||||
(cmds-ret
|
||||
`(menu-item "Insert completion DWIM" corfu-insert
|
||||
:filter ,(lambda (cmd)
|
||||
(cond
|
||||
((null +corfu-want-ret-to-confirm)
|
||||
(corfu-quit)
|
||||
nil)
|
||||
((eq +corfu-want-ret-to-confirm 'minibuffer)
|
||||
(funcall-interactively cmd)
|
||||
nil)
|
||||
((and (or (not (minibufferp nil t))
|
||||
(eq +corfu-want-ret-to-confirm t))
|
||||
(>= corfu--index 0))
|
||||
cmd)
|
||||
((or (not (minibufferp nil t))
|
||||
(eq +corfu-want-ret-to-confirm t))
|
||||
nil)
|
||||
(t cmd)))))
|
||||
(pcase +corfu-want-ret-to-confirm
|
||||
('nil (corfu-quit) nil)
|
||||
('t (if (>= corfu--index 0) cmd))
|
||||
('both (funcall-interactively cmd) nil)
|
||||
('minibuffer
|
||||
(if (minibufferp nil t)
|
||||
(ignore (funcall-interactively cmd)) ; 'both' behavior
|
||||
(if (>= corfu--index 0) cmd))) ; 't' behavior
|
||||
(_ cmd)))))
|
||||
(cmds-tab
|
||||
`(menu-item "Select next candidate or expand/traverse snippet" corfu-next
|
||||
:filter (lambda (cmd)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue