diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-28 00:55:30 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-28 00:55:30 -0500 |
| commit | b75e6ecc1eb0bc16ffd7f8ca6c8a42229419c8d6 (patch) | |
| tree | 299d9102e1d9ea4154bb0056d1cb8fd9c9574789 /tests/test-pearl-normalize.el | |
| parent | 1288c2af084fb9ce09bd8807a30291821b39f7b3 (diff) | |
| download | pearl-b75e6ecc1eb0bc16ffd7f8ca6c8a42229419c8d6.tar.gz pearl-b75e6ecc1eb0bc16ffd7f8ca6c8a42229419c8d6.zip | |
fix(filter): pin builder candidate order so [ None. ] stays at the top
Wrapping each builder prompt with `pearl--with-none` put the sentinel first in the candidate list, but the completion framework's default sort (vertico-sort-history-length-alpha, prescient, ivy's sorter, etc.) re-sorted alphabetically and any real candidate starting with a letter before "[" pushed the sentinel down. Linear's "Software Engineering" outsorted "[ None. ]", so the new pattern failed at the very first prompt.
The standard Emacs hook for "I sorted these on purpose" is a completion table that returns `(metadata (display-sort-function . identity))` for the `metadata` action. The new `pearl--completion-table-keep-order` helper does exactly that, and the five builder prompts (team, state, project, labels, assignee) now wrap their candidate lists through it. The framework keeps its default sort everywhere else. Only these five prompts opt out, in the place where author-order is meaningful.
Diffstat (limited to 'tests/test-pearl-normalize.el')
0 files changed, 0 insertions, 0 deletions
