- Added processing for context.config overrides, and associated
argc,argv handling.
- Bug fix in filt.t.cpp, but three tests still fail. Too big a
distraction to fix right now.
- Warning: build is not broken, but task is broken.
- New Cmd object to handle localized commands, customReports and general
command parsing.
- Localized new Subst methods.
- Relocate guess method from parse.cpp to text.cpp.
- Converted Att object to use new valid/parse scheme.
- Unit tests for Cmd object.
- Fixed att.t.cpp unit tests.
- Context now gathers messages and footnotes.
- task now calls into the new 1.8.0 code (via Context), then calls
into the old 1.7.0 code. Two for the price of one.
- Now supports "-tag" in filters to filter out tasks that do not
have the specified tag (thanks to Chris Pride).
- Added unit tests to prevent regression.
- Updated the filter docs to include examples.
- Prevented blank annotations from being added, and the description
being echoed as though it were the annotation applied (thanks to
Bruce Dillahunty).
- Added bug.annotate.t unit test to prevent regression.
- New unit tests for Mod object.
- Added new constructors to Mod object for ease of use.
- Added Mod handling in Att object.
- Added more Att unit tests.
- Prevents overly large ranges. A bug was reported from a user
who tried this:
% task annotate 1 1-987654321
The 1-987654321 was assumed to be a valid range, and caused task
to consume all available memory. The workaround was:
% task 1 annotate 1-987654321
But it seems a good idea to range-limit sequences. Currently
it is 1000. Perhaps this should be configurable.
- If a custom report has a specified limit to the number of tasks
it shows, then that limit may be overridden by specifying a new
quantity on the command line.
- Added unit tests to verify expected behavior.
- Updated documentation to reflect new functionality.
- Removed obsolete documentation references to an "oldest" and
"newest" configuration variable.
- Modified unit tests to accommodate changes in the verbose output
of task.
- Added tests to verify /delete-me// substitutions.
- Fixed typos in test descriptions.
- Fixed problem where a blank ID was considered valid. For example,
the command "task 1 -2" should use -2 as the description, but instead
considered this to be the sequence 1,0,2.
- Replaced old validId calls with the new validSequence calls.
- A sequence has been redefined to be the first set of consecutive
arguments that look like sequences. Once broken by a non-sequence
argument, all remaining args, even if they look like a sequence,
are not considered part of the sequence. This allows commands like
"task append 1,3-5 Write 10 emails", where 10 is not part of the
sequence because of the intervening "Write".
- Unit tests (parse.t.cpp) that exercise the parsing of sequences.
Should probably be expanded to cover more.
- Added support for the "g" modifier to the substitution command,
that replace every occurrence of "from" with "to", in the task
description and any annotations.
- When a task description contained a colon, the two words preceding
the colon were concatenated. For example, "aa bb:cc dd" gets
concatenated to "aabb:cc dd".
- Added unit to test to prevent regression.
- Updated documentation.
- Fixed bug whereby if no columns labels were specified, it was
considered a column count mismatch.
- Fixed unit tests to use m/d/Y not M/D/Y dateformat.