pub mod analyze;
pub mod cache;
pub mod completion;
mod config;
pub mod formatter;
pub mod formatter_defuse;
pub mod graph;
pub mod lang;
pub mod languages;
pub mod pagination;
pub mod parser;
pub mod test_detection;
pub mod traversal;
pub mod types;
#[cfg(feature = "schemars")]
pub mod schema_helpers;
pub(crate) const EXCLUDED_DIRS: &[&str] = &[
"node_modules",
"vendor",
".git",
"__pycache__",
"target",
"dist",
"build",
".venv",
];
pub use analyze::{
AnalysisOutput, AnalyzeError, CallChainEntry, FileAnalysisOutput, FocusedAnalysisConfig,
FocusedAnalysisOutput, analyze_directory, analyze_directory_with_progress, analyze_file,
analyze_focused, analyze_focused_with_progress, analyze_focused_with_progress_with_entries,
analyze_module_file, analyze_str,
};
pub use config::AnalysisConfig;
pub use lang::{language_for_extension, supported_languages};
pub use parser::ParserError;
pub use types::*;
#[derive(Debug, Clone)]
pub struct QueryCapture {
pub capture_name: String,
pub text: String,
pub start_line: usize,
pub end_line: usize,
pub start_byte: usize,
pub end_byte: usize,
}
pub fn execute_query(
language: &str,
source: &str,
query: &str,
) -> Result<Vec<QueryCapture>, parser::ParserError> {
parser::execute_query_impl(language, source, query)
}