smart dates: make "this" optional

This commit is contained in:
Simon Michael 2009-01-23 02:27:56 +00:00
parent 415c48d855
commit fdc13f6f43

View File

@ -236,7 +236,7 @@ Assumes any text in the parse stream has been lowercased.
smartdate :: GenParser Char st SmartDate
smartdate = do
let dateparsers = [yyyymmdd, ymd, ym, md, y, d, month, mon, today, yesterday, tomorrow,
lastthisnextthing
lastthisnextthing, thing
]
(y,m,d) <- choice $ map try dateparsers
return $ (y,m,d)
@ -339,6 +339,17 @@ lastthisnextthing = do
return ("",r,p)
thing :: GenParser Char st SmartDate
thing = do
p <- choice $ [
string "day"
,string "week"
,string "month"
,string "quarter"
,string "year"
]
return ("","this",p)
periodexpr :: Day -> GenParser Char st (Interval, DateSpan)
periodexpr rdate = choice $ map try [
intervalanddateperiodexpr rdate,