A simple go.mod
file parser based on winnow.
use gomod_parser::{GoMod, Module, ModuleDependency};
use std::str::FromStr;
let input = r#"
module github.com/example
go 1.21
require golang.org/x/net v0.20.0
"#;
let go_mod = GoMod::from_str(input).unwrap();
assert_eq!(go_mod.module, "github.com/example".to_string());
assert_eq!(go_mod.go, Some("1.21".to_string()));
assert_eq!(
go_mod.require,
vec![ModuleDependency {
module: Module {
module_path: "golang.org/x/net".to_string(),
version: "v0.20.0".to_string()
},
indirect: false
}]
);