summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2017-10-28 21:34:42 +0200
committerMatthias Beyer <mail@beyermatthias.de>2017-10-28 21:34:42 +0200
commit17fab62f7af0eb8aa67480111a95c3f042331e66 (patch)
treec571b4365f95bd5a11c7863d40dcf40d81368a8f
parentac01c4a224f9b2db08248c45170bea202e08ada9 (diff)
Sort tags
-rw-r--r--src/parser.rs23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/parser.rs b/src/parser.rs
index d50cbec..b1d8955 100644
--- a/src/parser.rs
+++ b/src/parser.rs
@@ -49,30 +49,31 @@ named!(integer<i64>, alt!(
)
));
-named!(unit_parser<Unit>, alt!(
- tag!("second") => { |_| Unit::Second } |
+// WARNING: Order is important here. Long tags first, shorter tags later
+named!(unit_parser<Unit>, alt_complete!(
tag!("seconds") => { |_| Unit::Second } |
- tag!("sec") => { |_| Unit::Second } |
+ tag!("second") => { |_| Unit::Second } |
tag!("secs") => { |_| Unit::Second } |
+ tag!("sec") => { |_| Unit::Second } |
tag!("s") => { |_| Unit::Second } |
- tag!("minute") => { |_| Unit::Minute } |
tag!("minutes") => { |_| Unit::Minute } |
- tag!("min") => { |_| Unit::Minute } |
+ tag!("minute") => { |_| Unit::Minute } |
tag!("mins") => { |_| Unit::Minute } |
- tag!("hour") => { |_| Unit::Hour } |
+ tag!("min") => { |_| Unit::Minute } |
tag!("hours") => { |_| Unit::Hour } |
- tag!("hr") => { |_| Unit::Hour } |
+ tag!("hour") => { |_| Unit::Hour } |
tag!("hrs") => { |_| Unit::Hour } |
- tag!("day") => { |_| Unit::Day } |
+ tag!("hr") => { |_| Unit::Hour } |
tag!("days") => { |_| Unit::Day } |
+ tag!("day") => { |_| Unit::Day } |
tag!("d") => { |_| Unit::Day } |
- tag!("week") => { |_| Unit::Week } |
tag!("weeks") => { |_| Unit::Week } |
+ tag!("week") => { |_| Unit::Week } |
tag!("w") => { |_| Unit::Week } |
- tag!("month") => { |_| Unit::Month } |
tag!("months") => { |_| Unit::Month } |
- tag!("year") => { |_| Unit::Year } |
+ tag!("month") => { |_| Unit::Month } |
tag!("years") => { |_| Unit::Year } |
+ tag!("year") => { |_| Unit::Year } |
tag!("yrs") => { |_| Unit::Year }
));