mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-06-26 10:54:26 +02:00
Dates: Added exact-match 'eaѕter' logic
- Without checking for an exact match for 'easter', the date 'easter' is a valid partial match for 'eastermonday'.
This commit is contained in:
parent
0f72d3d502
commit
297b0c4b04
2 changed files with 7 additions and 0 deletions
|
@ -466,6 +466,11 @@ bool namedDates (const std::string& name, Variant& value)
|
|||
}
|
||||
|
||||
if (closeEnough ("goodfriday", name, minimum)) t->tm_mday -= 2;
|
||||
|
||||
// DO NOT REMOVE THIS USELESS-LOOKING LINE.
|
||||
// It is here to capture an exact match for 'easter', to prevent 'easter'
|
||||
// being a partial match for 'eastermonday'.
|
||||
else if (closeEnough ("easter", name, minimum)) ;
|
||||
else if (closeEnough ("eastermonday", name, minimum)) t->tm_mday += 1;
|
||||
else if (closeEnough ("ascension", name, minimum)) t->tm_mday += 39;
|
||||
else if (closeEnough ("pentecost", name, minimum)) t->tm_mday += 49;
|
||||
|
|
|
@ -515,9 +515,11 @@ bool closeEnough (
|
|||
const std::string& attempt,
|
||||
unsigned int minLength /* = 0 */)
|
||||
{
|
||||
// An exact match is accepted first.
|
||||
if (compare (reference, attempt, false))
|
||||
return true;
|
||||
|
||||
// A partial match will suffice.
|
||||
if (attempt.length () < reference.length () &&
|
||||
attempt.length () >= minLength)
|
||||
return compare (reference.substr (0, attempt.length ()), attempt, false);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue