- Added an A3::is_attr type override for 'recur', which needs to be
treated as an un-expanded 'string' type, most, but not all of the
time.
- Documented the above in ColRecur.cpp.
- Modified Command.cpp to recognize both type 'duration' and name 'recur'.
- Removed Command::next_mod_group argument coalescing for date types,
which was not used anyway.
- Improved the error message for unrecognized durations, which previously
included the word 'date'.
- Modified unit tests to accomodate the above error message change.
- Added bug.972.t unit tests, which fail, because it isn't fixed yet.
- Made A3::dump const so it can be used anywhere.
- Tag matching was being performed using the regex \b<tag>\b, which makes
taskwarrior dependent on regex lib bugs for basic functionality. This is
now modified to use pseudo-operators _hastag_ and _notag_.
- Added support for more type-specific checks of attribute values.
- Added support for more type-specific attribute rendering.
- Improved generalized methods for checking columns in a report.
- Added unit tests.
- Minor code cleanup.
- Added secret hidden feature for internal testing.
- The operator_nomatch was not properly defaulting a "true" result.
- Improved signal to noise ratio in bug.hasnt.t.
- Removed obsolete entries in ANALYSIS file.
- Implemented expression escalation: when matching against description,
escalate to include annotations on failure. Needs adjustment to
DOM eval before it will work.
- Added unit tests for the '<=' and '>=' operators. All tests pass,
which makes a nice treat.
- Added more tests to '<' and '>' operators, so that all three data
types are covered.
- Arg now has a _value member that reflects the value in play, rather
than the input _raw value. Only _value is used in eval.
- DOM expansion capabilities are now controlled by rc.dom.
- The A3::Arg object is very similar to the E9::Term object, so the two are
being merged. First step is to separate A3::Arg into it's own space, then
add a _type member.
- Added more valid stop characters as terminators for various arg types.
- Removed redundant E9 special handling for dates, which is already built in
to the Date object.
- A3 now tracks whether a command is read-only, and builds filters accordingly.
- Implemented extract_filter, extract_modfications and extract_words stubs.
- Removed all E9 implementation details - this is going to be written from
scratch.
- Created A3.{h,cpp} which will be a simpler, lightweight version of
Arguments.{h,cpp} that does less, but does it better.
- Created E9.{h,cpp} which will be a better implementation of
Expression.{h,cpp} that does less, but does it better.
- Integrated A3 into Context::initialize, and Arguments and A3 will
coexist until A3 surpasses Arguments.