#[cfg(feature = "lang-bash")]
pub mod bash;
#[cfg(feature = "lang-c")]
pub mod c;
pub mod capability;
#[cfg(feature = "lang-cpp")]
pub mod cpp;
#[cfg(feature = "lang-csharp")]
pub mod csharp;
#[cfg(feature = "lang-css")]
pub mod css;
pub mod dispatcher;
pub mod error;
pub mod extractor;
#[cfg(feature = "lang-fortran")]
pub mod fortran;
#[cfg(feature = "lang-go")]
pub mod go;
#[cfg(feature = "lang-haskell")]
pub mod haskell;
pub mod helpers;
#[cfg(feature = "lang-html")]
pub mod html;
#[cfg(feature = "lang-java")]
pub mod java;
#[cfg(feature = "lang-javascript")]
pub mod javascript;
#[cfg(feature = "lang-json")]
pub mod json;
pub mod module;
#[cfg(feature = "lang-ocaml")]
pub mod ocaml;
pub mod parallel;
pub mod parser_factory;
pub mod parser_pool;
#[cfg(feature = "lang-php")]
pub mod php;
#[cfg(feature = "lang-python")]
pub mod python;
#[cfg(feature = "lang-regex")]
pub mod regex;
#[cfg(feature = "lang-ruby")]
pub mod ruby;
#[cfg(feature = "lang-rust")]
pub mod rust_extractor;
#[cfg(feature = "lang-scala")]
pub mod scala;
#[cfg(feature = "lang-typescript")]
pub mod typescript;
#[cfg(feature = "lang-verilog")]
pub mod verilog;
#[cfg(feature = "lang-bash")]
pub use bash::BashExtractor;
#[cfg(feature = "lang-c")]
pub use c::CExtractor;
#[cfg(feature = "lang-cpp")]
pub use cpp::CppExtractor;
#[cfg(feature = "lang-csharp")]
pub use csharp::CSharpExtractor;
#[cfg(feature = "lang-css")]
pub use css::CssExtractor;
pub use dispatcher::get_extractor;
pub use error::{ParseError, Result};
pub use extractor::{
extract_file, extract_from_source, AssignInfo, CallInfo, ExternInfo, ExtractResult, Extractor,
ImportInfo, ReadInfo, WriteInfo,
};
#[cfg(feature = "lang-fortran")]
pub use fortran::FortranExtractor;
#[cfg(feature = "lang-go")]
pub use go::GoExtractor;
#[cfg(feature = "lang-haskell")]
pub use haskell::HaskellExtractor;
pub use helpers::dedupe_qn;
#[cfg(feature = "lang-html")]
pub use html::HtmlExtractor;
#[cfg(feature = "lang-java")]
pub use java::JavaExtractor;
#[cfg(feature = "lang-javascript")]
pub use javascript::JavaScriptExtractor;
#[cfg(feature = "lang-json")]
pub use json::JsonExtractor;
pub use module::{ExtractorRegistryModule, ParserFactoryModule};
#[cfg(feature = "lang-ocaml")]
pub use ocaml::OCamlExtractor;
pub use parallel::{
parallel_parse, parallel_parse_ram_first, parse_single, ParallelParseResult, RamFirstSources,
};
pub use parser_factory::ParserFactory;
pub use parser_pool::{with_thread_pool, ParserGuard, ParserPool};
#[cfg(feature = "lang-php")]
pub use php::PhpExtractor;
#[cfg(feature = "lang-python")]
pub use python::PythonExtractor;
#[cfg(feature = "lang-regex")]
pub use regex::RegexExtractor;
#[cfg(feature = "lang-ruby")]
pub use ruby::RubyExtractor;
#[cfg(feature = "lang-rust")]
pub use rust_extractor::RustExtractor;
#[cfg(feature = "lang-scala")]
pub use scala::ScalaExtractor;
#[cfg(feature = "lang-typescript")]
pub use typescript::TypeScriptExtractor;
#[cfg(feature = "lang-verilog")]
pub use verilog::VerilogExtractor;