diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2017-10-28 21:34:42 +0200 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2017-10-28 21:34:42 +0200 |
commit | 17fab62f7af0eb8aa67480111a95c3f042331e66 (patch) | |
tree | c571b4365f95bd5a11c7863d40dcf40d81368a8f | |
parent | ac01c4a224f9b2db08248c45170bea202e08ada9 (diff) |
Sort tags
-rw-r--r-- | src/parser.rs | 23 |
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 } )); |