summaryrefslogtreecommitdiff
path: root/orderless.el
AgeCommit message (Collapse)Author
2025-03-16Version 1.41.4Daniel Mendler
2025-03-16Use keywords "matching" and "completion"Daniel Mendler
2025-02-02Relax the smart-case heuristic; Check the whole patternDaniel Mendler
By not only checking the compiled regexp, smart case is also toggled when matching on annotations, e.g., &Lv as in #184.
2025-01-01Update copyright yearsDaniel Mendler
2024-12-22Version 1.31.3Daniel Mendler
2024-09-26Use tag Website for group linkDaniel Mendler
2024-09-26Add group links, Use URL: keyword instead of deprecated Homepage:Daniel Mendler
2024-09-10Version 1.21.2Daniel Mendler
2024-09-05orderless-expand-prefix: Support the values `prefix`, `substring` and `nil`Daniel Mendler
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.
2024-09-05Add `orderless-expand-substring` for literal substring expansionDaniel Mendler
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)
2024-09-03Drop obsolete function aliasesDaniel Mendler
2024-07-17Use Compat 30Daniel Mendler
2024-07-11orderless-annotation: Match against both prefix and suffix (Fix #176)Daniel Mendler
2024-07-09Fix affixation matching problem in orderless-annotationDaniel Mendler
2024-06-06orderless-not, orderless-annotation: Respect smart-case (Fix #174)Daniel Mendler
2024-03-20Version 1.11.1Daniel Mendler
2024-03-20Add myself as co-maintainerDaniel Mendler
2024-03-12orderless-literal: Go back to regexp-quoteDaniel Mendler
Otherwise the duplicates created by the orderless-regexp and orderless-literal styles are not deleted.
2024-03-12orderless--literal-prefix-p: Pass START=2 to replace-regexp-in-stringDaniel Mendler
2024-03-12rx-to-string: Pass no-group argumentDaniel Mendler
2024-03-08Update copyright yearsDaniel Mendler
2024-03-08Use `orderless-escapable-split-on-space' as default component separatorDaniel Mendler
2024-03-08ReindentDaniel Mendler
2024-03-05Change default syntax for annotation matching to &Omar Antolin Camarena
The @ sign is used for several other thing like user names on many services which have Emacs clients, and is also used to add words to local dictionaries in Jinx.
2024-03-03Rename orderless--anchored-quoted-regexp to orderless--literal-prefix-pDaniel Mendler
Clarify the relation to orderless-literal-prefix.
2024-03-03Rename orderless-prefix to orderless-literal-prefix and registerDaniel Mendler
Avoid confusion with orderless-prefixes. Registering orderless-literal-prefix with the ^ character has a modest advantage - it makes sure that the prefix optimization sets in.
2024-03-03Fix orderless--anchored-quoted-regexp: Detect \` instead of ^Daniel Mendler
This makes a difference for multi-line candidates. Multi-line candidates are uncommon, but they exist, e.g., for read-from-kill-ring.
2024-03-03Fix orderless--metadata: Always return non-nil metadata inside minibufferDaniel Mendler
Otherwise completion-extra-properties may not be taken into account if the metadata returned by the completion table is nil.
2024-03-03Extract orderless--metadata helper functionDaniel Mendler
The helper function can be reused for other style modifiers, for example a style matching against the group title returned by the `group-function', which is also specified by the completion metadata.
2024-03-03Add orderless-prefix matching styleDaniel Mendler
This matching style is useful as a return value of a style dispatcher like orderless-affix-dispatch. It matches literals as a prefix and triggers the prefix filter optimization, see `orderless--anchored-quoted-regexp'.
2024-02-29orderless-affix-dispatch: Do not error on empty stringDaniel Mendler
2024-02-23Add orderless--match-p helperDaniel Mendler
2024-02-17Break long linesDaniel Mendler
2024-02-17orderless-compile: Expand docstringDaniel Mendler
2024-02-17Simplify orderless--compile-componentDaniel Mendler
2024-02-17Update commentary, recommend (setq completion-styles '(orderless basic))Daniel Mendler
2024-02-17Rename orderless-without to orderless-notDaniel Mendler
2024-02-17Turn orderless-annotation/without into a "pattern transformer"Daniel Mendler
orderless-annotation and orderless-without take a PRED and a REGEXP argument and turn it into a new predicate. This looks like a good solution. The complexity is pushed to orderless--compile-component and orderless-without is as simple as possible.
2024-02-17Alternative 2: Compile component before passing it to orderless-annotationDaniel Mendler
2024-02-16Alternative approach: Add COMPILE arg to orderless-annotation/withoutDaniel Mendler
This way the index and total are preserved even for the recursive matchers.
2024-02-16Add comment regarding the orderless--component-compiler callsDaniel Mendler
2024-02-16orderless--dispatch: Explicitly specify the argumentsDaniel Mendler
- The dispatchers have a fixed calling convention. - Explicitly specifying the arguments is both safer and more efficient.
2024-02-16Use orderless--dispatch in orderless--compile-componentDaniel Mendler
2024-02-16orderless-without: orderless--compile-component can return nilDaniel Mendler
2024-02-16Update documentation of orderless-style-dispatchersDaniel Mendler
2024-02-16orderless-affix-dispatch: Ignore single dispatcher characterDaniel Mendler
2024-02-16Rename orderless-pattern-compiler to orderless-compileDaniel Mendler
orderless-compile returns a predicate and a list of regexps. Keep orderless-pattern-compiler as obsolete function.
2024-02-16Rename orderless-dispatch to orderless--dispatchDaniel Mendler
The function is internal.
2024-02-16Add orderless--component-compiler and use it in orderless-without/annotationDaniel Mendler
2024-02-16orderless-pattern-compiler: Simplify slightly, remove variable predDaniel Mendler