facett-search — crate card
Reverse-engineered (from source — verify, don't trust the name)
- One-line pitch: The ordning query-language parser plus a parse-as-you-type search-bar facet.
- Does: Owns the single query grammar used everywhere (search, command line, saved views, boards, automation conditions) — a YouTrack-flavored subset:
attr:value, comma-OR,-exclude,attr:lo..hiranges,has:x/has:-x,#shortcutsaved shorthands,sort:field[-desc], and bare full-text words.parse()yields aQueryofClauses (+Sort) with adescribe()summary; the thinSearchBarfacet parses as you type, shows clauses as chips, and emits a submittedQuery. Facet contract (title/ui/state_json). - Key deps: egui, serde/serde_json. Optional
facettfeature. (Note: the parser is hand-rolled here, notpest, which is still commented out in the workspace manifest.) - Shape: lib, ~291 LOC single lib.rs — the valuable pure/well-tested core is the parser; the search bar is thin.
- Observed role in the workspace: Standalone; the parser is the reusable asset. No in-repo consumer yet. Built in ordning; destined for facett.
Fill in (one line each — only the human knows these)
- Primary consumer(s):
- Why it exists (vs the obvious alternative):
- Hard constraint (airgap / no-C-deps / no-FFI / pure-Rust / etc.):
- Release cadence & independence (rides a parent? own repo someday?):
- Status (production / prototype / experimental / stubbed):
- Must-NOT-change invariant:
- Biggest known gap or TODO:
- Anything a newcomer would get wrong about it: