#![warn(missing_docs)]
mod content_cache;
mod crate_name;
mod error;
mod file_path;
mod file_resolver;
mod id;
mod kind;
mod metadata;
mod path;
mod registry;
mod resolver;
mod span;
mod symbol_ref;
mod symbol_resolver;
#[cfg(any(test, feature = "test-utils"))]
mod test_harness;
mod use_resolver;
mod var_scope;
pub use content_cache::{CacheEntry, ContentCache, Freshness};
pub use crate_name::{CrateName, InvalidCrateNameError};
pub use error::{
InvalidSymbolId, ParseError, RegistrationError, RenameError, ResolutionError, ResolveError,
UnregisterReexportError,
};
pub use file_path::{write_with_parents, WorkspaceFilePath};
pub use file_resolver::FilePathResolver;
pub use id::SymbolId;
pub use kind::SymbolKind;
#[cfg(any(test, feature = "test-utils"))]
pub use metadata::MockMetadataProvider;
pub use metadata::{
CargoMetadataProvider, CrateInfo, MetadataError, TargetInfo, TargetKind,
WorkspaceMetadataProvider,
};
pub use path::{Segment, SymbolPath, SymbolPathBuilder};
pub use registry::{MemoryStats, ReExportInfo, SymbolRegistry};
pub use resolver::{CrateLayout, EntryPoint, WorkspacePathResolver, WorkspaceType};
pub use span::{FileSpan, Visibility};
pub use symbol_ref::SymbolRef;
pub use symbol_resolver::SymbolPathResolver;
#[cfg(any(test, feature = "test-utils"))]
pub use test_harness::{TestWorkspace, TestWorkspaceBuilder};
pub use use_resolver::{ImportMap, UseResolver};
pub use uuid::Uuid;
pub use var_scope::VarScope;
pub use serde;
pub use slotmap;