- 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_.
- Implemented expression escalation: when matching against description,
escalate to include annotations on failure. Needs adjustment to
DOM eval before it will work.
- 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.
- 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.