A fast, language-agnostic semantic symbol indexer and typo-resistant fuzzy finder, enabling real-time search across virtually unlimited code symbols without the need for language servers.
usecrate::models;/// The context in which parsing has begun in.
////// Fields defined in here generally help to better inform the parsing behavior, in order
/// to tailor and improve the output.
#[derive(Debug, Default)]pubstructContext{pub(crate)existing_tree:Option<tree_sitter::Tree>,
}implContext{/// Set an existing tree for the Treesitter query to incrementally update.
#[allow(dead_code)]#[must_use]pubfnwith_existing_tree(mutself, tree:tree_sitter::Tree)->Self{self.existing_tree =Some(tree);self}}/// The output of the parsed source file.
#[derive(Debug)]pubstructOutput{/// The resulting index.
pubindex:models::parsed::Index,
/// The resulting Treesitter tree, which can be used in subsequent calls to
/// [`crate::parser::treesitter::Parser`] to improve parsing performance.
#[allow(dead_code)]pubtree:tree_sitter::Tree,
}