lucene_query_syntax/lib.rs
1#![doc = include_str!("../README.md")]
2//! ## Usage
3//! The main entry point of this crate is [`parse`], which gives you a [`Term`] that you can match on or [`visit`](Term::visit).
4//! ## Example
5//! ```rust
6//! let query = lucene_query_syntax::parse("name:\"Bob Ross\"")?;
7//! println!("{query}");
8//! ```
9
10mod ast;
11mod parser;
12
13pub use ast::*;
14
15/// Parses a given Lucene query into a syntax tree.
16pub fn parse(input: &str) -> Result<Term, pom::Error> {
17 parser::query().parse(input.as_bytes())
18}