summaryrefslogtreecommitdiff
path: root/src/atom/parsers.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/atom/parsers.rs')
-rw-r--r--src/atom/parsers.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/atom/parsers.rs b/src/atom/parsers.rs
index ee2c42a..75eca51 100644
--- a/src/atom/parsers.rs
+++ b/src/atom/parsers.rs
@@ -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,
})
}
}