summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-02-25Work around bug in GitHub's org parserfix-github-orgOmar Antolin Camarena
Sadly neither =verbatim= nor ~code~ syntax seems to work in all cases, in particular, neither =,= nor ~,~ display a fixed-width comma. This fixes #155.
2024-02-23README: Add section for style modifiersDaniel Mendler
2024-02-23Add orderless--match-p helperDaniel Mendler
2024-02-21Merge pull request #162 from minad/annotation-matchingOmar Antolín Camarena
Annotation matching
2024-02-17Break long linesDaniel Mendler
2024-02-17README: Fix language after renaming of orderless-pattern-compilerDaniel 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
2024-02-16Remove orderless--predicate-orOmar Antolín Camarena
This simplifies the semantics: all predicates are and-ed together.
2024-02-16Extend orderless-without-literal commentDaniel Mendler
2024-02-15orderless-annotation: Also check completion-extra-propertiesDaniel Mendler
2024-02-15orderless-annotation, orderless-without-regexp: Check validityDaniel Mendler
2024-02-15Pattern compiler: Compile to regexps and a predicate functionDaniel Mendler
Compiling to predicate functions makes it possible to implement a wide range of additional matching styles. Two of them are implemented here: - orderless-annotation: Match on candidate annotations with a regexp. - orderless-without-regexp: Exclude candidates matching a regexp (Fix #88). One could imagine creating additional matchers. Many completion category specific ideas had been mentioned in #30. A regexp could match against the content of a buffer or the buffer major mode. Such a matcher would only apply to the buffer completon category.
2024-02-15Document the new rx format for matching stylesOmar Antolín Camarena
2024-02-15Merge pull request #161 from minad/optimize-predicateOmar Antolín Camarena
Optimizations and refactoring
2024-02-15Drop support for Emacs 26.1 because rx does not support (literal ...)Daniel Mendler
2024-02-15orderless-literal: Use (literal string) instead of regexp-quoteDaniel Mendler
2024-02-15Support rx sepxs as return values of matching style functionsDaniel Mendler
2024-02-15Revert "orderless-pattern-compiler: Create fewer intermediate data structures"Daniel Mendler
This reverts commit ebd2b841de857c568b547446a27ed9e58e1354eb.
2024-02-15orderless-try-completion: Use or instead of ifDaniel Mendler
2024-02-15orderless-pattern-compiler: Create fewer intermediate data structuresDaniel Mendler
2024-02-15Replace orderless--prefix+pattern by orderless--compileDaniel Mendler
Reduce code duplication.
2024-02-14Extract orderless--filterDaniel Mendler
Make sure that orderless-pattern-compiler is only called once per orderless-all-completions and orderless-try-completion.
2024-02-14Optimize orderless-try-completion predicate calling conventionDaniel Mendler
Only allocate a rest argument list if the predicate is used on hash table candidates.
2023-11-10Regenerate texiDaniel Mendler
2023-11-10README: Update linkDaniel Mendler
2023-11-10README: Drop Selectrum documentationDaniel Mendler
2023-11-10Use hashed symbols everywhere for consistencyDaniel Mendler
2023-11-10Fix typo in defcustomDaniel Mendler
2023-11-10Avoid loading cl-lib at runtimeDaniel Mendler
Reduce the dependency footprint and load time. cl-lib is large and not used much at runtime in Orderless. In contrast, using cl-lib at compile time seems unavoidable given crucial features like cl-defun, cl-defstruct, cl-letf and cl-loop. Loading cl-lib at compile is a common pattern in many Emacs libs. See also this long thread on emacs-devel about the pros and cons of cl-lib: https://lists.gnu.org/archive/html/emacs-devel/2023-10/msg00731.html
2023-11-07Add support for completion-lazy-hilitDaniel Mendler
New protocol in upcoming Emacs 30
2023-10-25Work around inconsistency of `completion-table-with-context'Daniel Mendler
The function `completion-table-with-context' modifies the predicate such that the string arguments are prefixed. This behavior is inconsistent with the `completion-file-name-table', where the strings returned by `all-completions' are the same as the strings passed to the predicate. The behavior of `all-completions' seems more intuitive at first sight. This could be an unintended bug or oversight in `completion-table-with-context'. In `orderless-try-completion' we work around the inconsistency by checking if a prefix is already present in the string passed to the predicate. If not, the prefix is added. Fix #148
2023-10-25Remove obsolete variableDaniel Mendler
2023-09-19Merge pull request #147 from jgarte/jgarte-patch-1Omar Antolín Camarena
Fix wording in docstring
2023-09-19Fix wording in docstringjgart