Expand description
Unified public API surface.
Unified public API surface for perl-workspace-index.
This module defines the crate’s stable “import once” entry-point for callers that only need discovery, folder parsing, and ignore-policy helpers. Re-exports are intentionally explicit (no glob exports) so generated docs stay navigable and type conflicts are avoided.
§Why a dedicated API module?
monitoring and state_machine both expose similarly named types
(IndexStateKind, DegradationReason, etc.). Re-exporting everything from
crate root would create ambiguous imports for downstream crates. By keeping a
curated public surface in api, consumers can opt into just the common
workspace-bootstrap utilities without pulling in overlapping lifecycle types.
§Typical usage
use perl_workspace_index::api::{
discover_perl_files, extract_workspace_folder_uris, is_skipped_dir_name,
};
let _folders = extract_workspace_folder_uris(&[]);
let _is_noise = is_skipped_dir_name("target");
let _result = discover_perl_files(std::path::Path::new("."));Re-exports§
pub use crate::discovery::DiscoveryMethod;pub use crate::discovery::DiscoveryResult;pub use crate::discovery::discover_perl_files;pub use crate::discovery::is_perl_discovery_path;pub use crate::folder::WorkspaceFolderChange;pub use crate::folder::extract_workspace_folder_change;pub use crate::folder::extract_workspace_folder_uris;pub use crate::folder::root_path_to_file_uri;pub use crate::folder::workspace_folder_to_path;pub use crate::ignore::is_skipped_dir_name;pub use crate::ignore::path_contains_skipped_component;