From the collection

vir-search

Rust · active · v1.4.3

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