Crate deps_go

Crate deps_go 

Source
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.