Expand description
Go module ecosystem support for deps-lsp.
This crate provides parsing, registry access, and LSP features for Go modules (go.mod files).
§Features
- Parse go.mod files with accurate position tracking
- Fetch version data from proxy.golang.org
- Generate LSP features (inlay hints, hover, completions)
- Support for go.mod directives: require, replace, exclude
§Example
use deps_go::parse_go_mod;
use tower_lsp_server::ls_types::Uri;
let content = r#"
module example.com/myapp
go 1.21
require github.com/gin-gonic/gin v1.9.1
"#;
let uri = Uri::from_file_path("/test/go.mod").unwrap();
let result = parse_go_mod(content, &uri).unwrap();
assert_eq!(result.dependencies.len(), 1);Re-exports§
pub use ecosystem::GoEcosystem;pub use error::GoError;pub use error::Result;pub use formatter::GoFormatter;pub use lockfile::GoSumParser;pub use lockfile::parse_go_sum;pub use parser::GoParseResult;pub use parser::parse_go_mod;pub use registry::GoRegistry;pub use registry::package_url;pub use types::GoDependency;pub use types::GoDirective;pub use types::GoMetadata;pub use types::GoVersion;pub use version::base_version_from_pseudo;pub use version::compare_versions;pub use version::escape_module_path;pub use version::is_pseudo_version;
Modules§
- ecosystem
- Go modules ecosystem implementation for deps-lsp.
- error
- Errors specific to Go module dependency handling.
- formatter
- lockfile
- go.sum lock file parsing.
- parser
- go.mod parser with position tracking.
- registry
- proxy.golang.org registry client.
- types
- Types for Go module dependency management.
- version
- Version parsing and module path utilities for Go modules.