| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Stop linking to separate icomplete-vertical package, since Emacs has the
functionality integrated for some time now.
|
|
|
|
|
|
|
|
|
|
|
|
Fix #55
Only drop the last empty component. The new behavior has the following effects:
1. The first empty component is preserved and can be treated specifically as
requested in #55. The assumption is that a separator at the beginning
is intentional.
(cdr (orderless-compile " ")) => ("")
(cdr (orderless-compile " foo")) => ("" "foo")
2. Completely blank input will compile to an empty regexp list. This is
important for completion command startup performance:
(cdr (orderless-compile "")) => nil
3. When separating components, the last separator will not lead to an
intermediate artificial empty component, as long as the user has
not finished typing. For example the user types the words "foo bar":
(cdr (orderless-compile "foo")) => ("foo")
(cdr (orderless-compile "foo ")) => ("foo")
(cdr (orderless-compile "foo bar")) => ("foo" "bar")
|
|
Orderless expects a list of functions but a hook is not simply that. A hook can
also be a single function, or a list which includes the special value t to
reference the default value of the hook.
|
|
This way partial-completion will behave like substring instead of like basic
prefix completion. If combined with orderless, the behavior will be less
staggering for files, where the style may change during completion from
partial-completion to orderless.
|
|
See the Tramp problem documented here:
https://github.com/minad/vertico?tab=readme-ov-file#tramp-hostname-and-username-completion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
By not only checking the compiled regexp, smart case is also toggled when
matching on annotations, e.g., &Lv as in #184.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Using `completion-substring-try-completion` can be costly in comparison to
prefix completion only via `try-completion`, in particular in the context of
timer-based auto completion. As a compromise, default to `prefix` completion
only. Performance should not be affected, while expansion is still provided.
Depending on preference the expansion setting can be escalated to `substring` or
even disabled, in case the restrictive Orderless (non-)expansion behavior is
preferred.
|
|
If the customization option `orderless-expand-substring` is set to
t, `orderless-try-completion` first tries to treat the input as
literal substring and tries to expand it. If literal substring
expansion fails, Orderless falls back to its regular behavior, and
checks if there exists a single unique match to expand to. The
option `orderless-expand-substring` is effective in the default
completion UI and Corfu when pressing TAB, but does not affect
Vertico. It makes the transition to Orderless a little friendlier
for users accustomed to the Emacs built-in `basic` and `substring`
completion styles.
As an alternative to `orderless-expand-substring` one could define
an alternative completion style `tab` as follows.
(add-to-list 'completion-styles-alist
'(tab completion-substring-try-completion ignore
"Completion style which provides only TAB completion."))
I've used this `tab` configuration style for a long time in my
personal configuration, but the goal is to improve out of the box
behavior of Orderless and related packages. The following two
configurations are equivalent:
;; NEW: Use orderless-expand-substring
(setq completion-styles '(orderless basic)
orderless-expand-substring t)
;; OLD: Use the tab style from above.
(setq completion-styles '(tab orderless basic)
orderless-expand-substring nil)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Otherwise the duplicates created by the orderless-regexp and orderless-literal
styles are not deleted.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Add orderless-kwd.el
|
|
|
|
|
|
|
|
|
|
|