From the collection

vir-search

No. 031

Rust · active

A domain-agnostic Rust library for parsing Calibre-style search expressions into a typed Abstract Syntax Tree (AST).

Extracted from atrium-search and conservatory-search, vir-search provides the lexer, generic recursive-descent parser, ranking heuristics, and date-range resolvers that underpin the VirInvictus ecosystem. It directly powers Atrium, Conservatory, and Viaduct.

By parameterizing the AST over the consumer’s Field, State, and SortKey types, it avoids domain-coupling while maintaining a unified, powerful search grammar across the entire suite of desktop applications.

← Return to the codex