From 17fab62f7af0eb8aa67480111a95c3f042331e66 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sat, 28 Oct 2017 21:34:42 +0200 Subject: Sort tags --- src/parser.rs | 23 ++++++++++++----------- 1 file 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, alt!( ) )); -named!(unit_parser, alt!( - tag!("second") => { |_| Unit::Second } | +// WARNING: Order is important here. Long tags first, shorter tags later +named!(unit_parser, 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 } )); -- cgit v1.2.3