Skip to content

Commit

Permalink
Update manual to mention Vertico
Browse files Browse the repository at this point in the history
  • Loading branch information
oantolin committed Jun 13, 2021
1 parent cbb1c00 commit 2646dad
Showing 1 changed file with 19 additions and 13 deletions.
32 changes: 19 additions & 13 deletions orderless.texi
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
@finalout
@titlepage
@title Orderless
@author Omar Antolín Camarena
@end titlepage

@contents
Expand Down Expand Up @@ -55,7 +56,7 @@ Related packages
* Ivy and Helm::
* Prescient::
* Restricting to current matches in Icicles, Ido and Ivy: Restricting to current matches in Icicles Ido and Ivy.
* Restricting to current matches in Icicles, Ido and Ivy: Restricting to current matches in Icicles Ido and Ivy.
@end detailmenu
@end menu
Expand All @@ -75,13 +76,17 @@ front-end that provides a completion UI@. Any completion style can be
used with the default Emacs completion UI (sometimes called minibuffer
tab completion), with the built-in Icomplete package (which is similar
to the more well-known Ido Mode), or with some third party completion
frameworks such as @uref{https://github.com/raxod502/selectrum, Selectrum} or @uref{https://github.com/oantolin/icomplete-vertical, icomplete-vertical}. To use a
completion style in this fashion simply add it as an entry in the
variables @samp{completion-styles} and @samp{completion-category-overrides} (see
their documentation). You may also want to modify the
@samp{completion-category-defaults} variable, which serves as a default value
for @samp{completion-category-overrides}: if you want to use @samp{orderless}
exclusively, set both variables to @samp{nil}.
frameworks such as @uref{https://github.com/minad/vertico, Vertico}, @uref{https://github.com/raxod502/selectrum, Selectrum} (in its default configuration),
or @uref{https://github.com/oantolin/icomplete-vertical, icomplete-vertical} (note there is also a @emph{built-in} package named
icomplete-vertical in the unreleased version 28 of Emacs, which will
eventually make the third party icomplete-vertical obsolete
---orderless works equally well with both icomplete-vertical
packages). To use a completion style with any of these completion UIs
simply add it as an entry in the variables @samp{completion-styles} and
@samp{completion-category-overrides} (see their documentation). You may also
want to modify the @samp{completion-category-defaults} variable, which serves
as a default value for @samp{completion-category-overrides}: if you want to
use @samp{orderless} exclusively, set both variables to @samp{nil}.

With a bit of effort, it might still be possible to use @samp{orderless} with
other completion UIs, even if those UIs don't support the standard
Expand Down Expand Up @@ -401,8 +406,9 @@ To use @samp{orderless} from Ivy add this to your Ivy configuration:
@section Selectrum

Recent versions of Selectrum default to using whatever completion
styles you have configured. You can use @samp{orderless} that way, or you can
use this configuration:
styles you have configured. If you stick with that default
configuration you can use @samp{orderless} just by adding it to
@samp{completion-styles}. Alternatively, you can use this configuration:

@lisp
(setq selectrum-refine-candidates-function #'orderless-filter)
Expand Down Expand Up @@ -460,7 +466,7 @@ face with this configuration:
@menu
* Ivy and Helm::
* Prescient::
* Restricting to current matches in Icicles, Ido and Ivy: Restricting to current matches in Icicles Ido and Ivy.
* Restricting to current matches in Icicles, Ido and Ivy: Restricting to current matches in Icicles Ido and Ivy.
@end menu

@node Ivy and Helm
Expand All @@ -469,7 +475,7 @@ face with this configuration:
The well-known and hugely powerful completion frameworks @uref{https://github.com/abo-abo/swiper, Ivy} and @uref{https://github.com/emacs-helm/helm, Helm}
also provide for matching space-separated component regexps in any
order. In Ivy, this is done with the @samp{ivy--regex-ignore-order} matcher.
In Helm, it is the default, called "multi pattern matching".
In Helm, it is the default, called ``multi pattern matching''.

This package is significantly smaller than either of those because it
solely defines a completion style, meant to be used with any completion UI supporting completion styles while both of those provide their own
Expand Down Expand Up @@ -499,7 +505,7 @@ components in any order and it can be used with either the @uref{https://github.
or @uref{https://github.com/abo-abo/swiper, Ivy} completion UIs (it does not offer a completion-style that
could be used with Emacs' default completion UI or with Icomplete).
The components can be matched literally, as regexps, as initialisms or
in the flex style (called "fuzzy" in prescient). In addition to
in the flex style (called ``fuzzy'' in prescient). In addition to
matching, @samp{prescient.el} also supports sorting of candidates (@samp{orderless}
leaves that up to the candidate source and the completion UI).

Expand Down

0 comments on commit 2646dad

Please sign in to comment.