support portage build-id extension
This commit is contained in:
@@ -94,16 +94,19 @@ impl<'a> Parseable<'a, &'a str> for Version {
|
||||
|
||||
fn parser() -> Self::Parser {
|
||||
let rev = VersionNumber::parser().preceded_by(tag("-r"));
|
||||
let build_id = VersionNumber::parser().preceded_by(tag("-"));
|
||||
|
||||
VersionNumbers::parser()
|
||||
.and(r#if(|c: &char| c.is_ascii_alphabetic() && c.is_ascii_lowercase()).opt())
|
||||
.and(VersionSuffixes::parser().preceded_by(tag("_")).opt())
|
||||
.and(rev.opt())
|
||||
.map(|(((numbers, letter), suffixes), rev)| Version {
|
||||
.and(build_id.opt())
|
||||
.map(|((((numbers, letter), suffixes), rev), build_id)| Version {
|
||||
numbers,
|
||||
letter,
|
||||
suffixes: suffixes.unwrap_or(VersionSuffixes(Vec::new())),
|
||||
rev,
|
||||
build_id,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user