deps_cargo/lib.rs
1//! Cargo.toml parsing and crates.io integration.
2//!
3//! This crate provides Cargo-specific functionality for the deps-lsp server,
4//! including TOML parsing, dependency extraction, and crates.io registry
5//! integration via the sparse index protocol.
6//!
7//! # Features
8//!
9//! - Parsing `Cargo.toml` dependencies with position tracking
10//! - Fetching version data from crates.io sparse index
11//! - Supporting registry, git, and path dependencies
12//! - Workspace inheritance (`workspace = true`)
13//!
14//! # Examples
15//!
16//! ```
17//! use deps_cargo::{ParsedDependency, CratesIoRegistry};
18//!
19//! // Types are re-exported for convenience
20//! let _deps: Vec<ParsedDependency> = vec![];
21//! ```
22
23pub mod ecosystem;
24pub mod error;
25pub mod formatter;
26pub mod lockfile;
27pub mod parser;
28pub mod registry;
29pub mod types;
30
31// Re-export commonly used types
32pub use ecosystem::CargoEcosystem;
33pub use error::{CargoError, Result};
34pub use formatter::CargoFormatter;
35pub use lockfile::CargoLockParser;
36pub use parser::{CargoParser, ParseResult, parse_cargo_toml};
37pub use registry::{CratesIoRegistry, crate_url};
38pub use types::{CargoVersion, CrateInfo, DependencySection, DependencySource, ParsedDependency};