Skip to main content

normalize_facts/
lib.rs

1//! Code fact extraction and storage library.
2//!
3//! This crate provides:
4//! - Core fact types (symbols, imports, exports)
5//! - Parser utilities for tree-sitter grammars
6//! - Symbol extraction and flattening (`SymbolParser`)
7//! - Fact storage (`FileIndex`)
8//! - Trait definitions for fact extraction
9
10mod ca_cache;
11pub mod extract;
12mod index;
13mod parsers;
14mod symbols;
15
16#[cfg(feature = "cli")]
17pub mod service;
18
19pub use extract::{ExtractOptions, ExtractResult, Extractor, InterfaceResolver, OnDemandResolver};
20pub use index::{CallGraphStats, ChangedFiles, FileIndex, IndexedFile, SymbolMatch};
21pub use parsers::{
22    MissingGrammar, available_external_grammars, grammar_loader, parse_with_grammar, parser_for,
23    peek_missing_grammars, report_missing_grammar, take_missing_grammars, try_get_grammar,
24};
25pub use symbols::SymbolParser;
26
27// Re-export core types for convenience
28pub use normalize_facts_core::{
29    Export, FlatImport, FlatSymbol, Import, Symbol, SymbolKind, Visibility,
30};