- Whenever A2::attribute sees 'raw' being set, it automaticall decomposes the
arg, which can now be removed from other methods.
- New ::canonicalizeNames method means that the ::decomposeMod* methods are no
longer needed.
- Removed ::findOverrides which now does nothing.
- Removed unsupported UUID lists, which shoudl have been removed earlier when
Lexer::Type::list was dropped.
- Reversed logic in 'if' statements to perform the lowest cost comparison first.
As of taskd 1.1.0 this option is no longer available, hence it's only
valid for 1.0.0 servers.
Since 1.1.0 is replacing 1.0.0 and has been adopted by recent linux
distributions, the error message no longer needs to refer to account
activation.
- Removed support for non-extended forms, which is approximately half of the
formats. These include:
YYYYMMDD
YYYYWww
YYYYWwwD
hhmmѕsZ
hhmmZ
hhZ
and combinations thereof. Essentially all forms that contains run-on sequences
of integers, without separators. These removed forms will still be supported
via rc.dateformat.
- Removed unsupported forms from iso8601d.t.cpp.
- Removed unsupported forms from datetime-negative.t, and corrected the tests
that now succeed.
- Disallows 2-digit times, such as 14 (2pm). Now requires at least minutes
included as well. This is likely to need further review, and possible dropping
of all non-extended date forms (hhmmss, yyyymmdd), otherwise there will always
be confusion between ID, UUID and ISO8601 dates.
- Removed 2-digit time tests.
- This is a large commit, as all the changes are centered around the elimination
of CLI.
- CLI is no longer compiled.
- Context no longer maintains CLI + CLI2.
- Filter now walks the parse tree and sends to Eval a
std::vector <std::pair <std::string, Lexer::Type>> containing only args tagged
with FILTER.
- Filter more efficiently sets/unsets Eval::debug, by doing it less often.
- The filterExpr.length() check is no longer meaningful, and instead the size of
the std::vector above is used.
- Filter::pendingOnly performs better analysis.
- Filter::safety makes use of the std::vector size also.
- Task::modify makes use of 'canonical' rather than 'name', which is a policy
change, not a fix.
- If an argument is an exact match for a command ('projects'), it is a command.
- If an argument is not an exact match for command ('project'), but is an exact
match for an attribute, it is not a command.
- If an argument fails the above tests, but canonicalizes to a command, it is a
command.