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//! - Implementing deps-core traits for generic LSP handlers
14//!
15//! # Examples
16//!
17//! ```
18//! use deps_cargo::{ParsedDependency, CratesIoRegistry};
19//!
20//! // Types are re-exported for convenience
21//! let _deps: Vec<ParsedDependency> = vec![];
22//! ```
23
24pub mod ecosystem;
25pub mod error;
26pub mod formatter;
27pub mod handler;
28pub mod lockfile;
29pub mod parser;
30pub mod registry;
31pub mod types;
32
33// Re-export commonly used types
34pub use ecosystem::CargoEcosystem;
35pub use error::{CargoError, Result};
36pub use formatter::CargoFormatter;
37pub use handler::CargoHandler;
38pub use lockfile::CargoLockParser;
39pub use parser::{CargoParser, ParseResult, parse_cargo_toml};
40pub use registry::{CratesIoRegistry, crate_url};
41pub use types::{CargoVersion, CrateInfo, DependencySection, DependencySource, ParsedDependency};