# HG changeset patch # User Matthew Wild # Date 1245606477 -3600 # Node ID 3eee607e57e85ff5fc2410a945eb5ea00635517e # Parent 305e9dd7fc344a37e0c16b28aa4cad105eb52b6d Add support for specifying a year in the input diff -r 305e9dd7fc34 -r 3eee607e57e8 ndp.lua --- a/ndp.lua Sun Jun 21 18:00:51 2009 +0100 +++ b/ndp.lua Sun Jun 21 18:47:57 2009 +0100 @@ -29,7 +29,7 @@ local month_name = lpeg.one_of {'january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december' } -local year = (lpeg.R("09")^4)^-4 +local year = lpeg.R("09") * lpeg.R("09") * lpeg.R("09") * lpeg.R("09"); local unit_of_time = lpeg.one_of { 'second', 'minute', 'hour', 'day', 'week', 'month', 'year' } @@ -108,9 +108,9 @@ function () time = adjust_time(time, "year", get_time_part(time, "year") + 1); end }; - { P"on "^0 * day_name / - function (day_name) - time = find_next_day_by_name(time, day_name:match("%S+$")); + { year / + function (year) + time = adjust_time(time, "year", tonumber(year)); end }; { P"in "^0 * month_name / function (month_name)