- Support and documentation for rc.patterns, which enables/disables
support for /pattern/ command line arguments.
- Support and documentation for rc.expressions, which enables/disables
support for command line expressions.
- Now canonicalizes attribute names.
- Now canonicalizes modifier names.
- New colorization (temporary) that colors all Arguments::dump output
green when processed.
- New distinction between 'old' and 'new' style command lines. Old style
is "pro:A +foo pri.not:M" with implicit "and" operators. New style
includes operators but does not include "+foo" and "/foo/".
- Many tokens are converted directly to primitive types (int, number,
string) when no further processing is required.
- Restored CmdShow to functionality, and linearized the list of supported
configuration variables, for easier insertion.
- Modified arguments.t.cpp unit tests.
- Corrected interpretation of integers outside the location of a
sequence as a word.
- Corrected interpretation of uuids outside the location of a
sequence as a word.
- Removed the last uses of 'foreach'. What remains is only code that
is being obsoleted, and therefore there is no need to clean that up.
- The definition of 'foreach' in util.h must remain until last.
- Fixed some compiler warnings.
- Added DOM detection of primitives: int, double, string.
- Began implementation of DOM task access.
- Implemented support for .startswith, .endswith, .word and .noword.
- Removed obsolete subst.t.cpp.
- Implemented an operator lookup table with type, associativity and
precedence.
- Implemented Expression::to_postfix that generates a postfix
expression list using a Dijkstra Shunt.
- Began Expression::toInfix to upgrade old-style filters to infix
algebraic filters.
- Added operator support to Arguments::categorize.
- Modified CmdCustom.cpp as a read-only command guinea-pig for the
new argument processing.
- Implemented Arguments::extract_read_only_filter to isolate the
arguments that pertain to read-only command filters
- Implemented Arguments::extract_write_filter to isolate the arguments
that pertain to write command filters.
- Implemented Arguments::extract_modifications to isolate the arguments
that pertain to write command modifications.
- Created stubbed Expression object.
- Began integration of Expression and Arguments into commands/CmdCustom.
- Added proper handling for sequences, in that they must be contiguous.
- Added placeholder code for default command, and automatic info report.
- Eliminated Context::parse.
- Eliminated Context::run Timer, because when it goes out of scope, it
adds timing messages to the deubg output, which at the end of Context::run
has already been displayed. In addition, the Context::dispatch timer
is about 0.2 milliseconds shorter, so the two are redundant.
- Eliminated stored arg_overrides and file_override in Context.
- Removed Filter, Subst, Task, Sequence from Context.
- Remove shadow file support. Hallelujah.
- Disabled/commented out most commands, ready for the big transition
to the new parsing style.
- Obsoleted Subst.{h,cpp}.
- Added argument categorization, and a colorful diagnostic output
in debug mode.
- Localized all argument parsing in Arguments object, while still
allowing specific commands to choose which elements are parsed
from the command line.
- Obsoleted Command::exectute 'commandLine' argument. It is worse
than unnecessary, it is an uncategorized raw argument string, which
is only really useful for the 'execute' command, which itself now
calls Arguments::combine to reconstruct the command line string.
- Obsoleted Cmd object.
- Removed Context::dispatch, renamed dispatch2 --> dispatch.
- Commented out import and custom report functionality that depends
on Cmd. This should be about as broken as taskwarrior gets. It's
all uphill from here.
- Fixed bug so that columns of type "string*" calculate ideal size
by taking into account \n characters in the data, rather than simply
the string length.