deps-go
Go modules support for deps-lsp.
This crate provides parsing and registry integration for Go's module ecosystem.
Features
- go.mod Parsing — Parse
go.modwith position tracking for all directives - go.sum Lock File — Extract resolved versions from
go.sum - Directive Support — Handle
require,replace,exclude, andretractdirectives - Indirect Dependencies — Detect and mark indirect dependencies (
// indirect) - Pseudo-versions — Parse and validate Go pseudo-version format
- proxy.golang.org — Fetch module versions from Go module proxy
- Module Path Escaping — Proper URL encoding for uppercase characters
- EcosystemHandler — Implements
deps_core::EcosystemHandlertrait
Usage
[]
= "0.5"
use ;
let dependencies = parse_go_mod?;
let registry = new;
let versions = registry.get_versions.await?;
Supported Directives
require
require github.com/gin-gonic/gin v1.9.1
require (
github.com/stretchr/testify v1.8.4
golang.org/x/sync v0.5.0 // indirect
)
replace
replace github.com/old/module => github.com/new/module v1.0.0
replace github.com/local/module => ../local/module
exclude
exclude github.com/pkg/module v1.2.3
Pseudo-version Support
Handles Go's pseudo-version format for unreleased commits:
v0.0.0-20191109021931-daa7c04131f5
Extracts base version and timestamp for display.