- Migrated the recur.cpp getDueState() function into Task::getDateState(),
which can assess any date attribute.
- Improved implementation to distinguish between:
- not due, or not due for rc.due days
- due after today
- due later today
- due earlier today
- due before today
This greater precision should address some outstanding issues.
- Many files were missing an explicit cmake.h include. Some were not including
it at all. Now it's used almost everywhere.
(cherry picked from commit 82ae86979c497e6d1d0c6b2b5a55aa379ec82c98)
- Feature #934, supports 'reserved.lines' to indicate a multi-line prompt for
use in conjunction with 'limit:page' (thanks to Robert Gill).
- Removed 'locale' from the taskrc.5 man page.
- Added verbosity token 'sync'.
- Fixed bug in size calculation for 'limit:page', but there is still one more.
- Corrected unit test limit.t given the above fix.
- Fixed bug #1022, where dependencies were note released when a blocking task
was completed (thanks to Arkady Grudzinsky).
- The Task object now caches ::is_blocked and ::is_blocking Booleans that are
determined on pending.data load.
- Simplified and sped up color rule processing using cached values, reducing
the number of map lookups, and removed loop invariants when the rules are
not defined.
- Simplified urgency calculations given the cached values for blocked/blocking.
- On load, pending.data is scanned for accurate blocked/blocking status
determination.
- Obsoleted and removed complex single-task dependency calculations.
- Sped up 'nag' processing by using cached values..
- Modified the 'show' command to consider color.blocking to be valid.
- Added default config value for color.blocking, and included it in the
precedence list ahead of blocked, as it is more important.
- Updated taskrc.5 man page to include the new color.blocking rule, and its
place in the rule precedence.
- Complete the previous fix: dates in the journal entries are also formatted
according to the correct configuration variable.
- Add unit tests.
Signed-off-by: Paul Beckingham <paul@beckingham.net>
- Removed the feature that allows commands to be piped in to stdin,
and appended to any existing command line. This feature is
conditionally compiled, controlled by the FEATURE_STDIN define in
main.h
- Many unit tests contained "echo '-- y'", and now use "echo 'y'"
because the '--' is no longer supported on stdin.
- Thanks to the IRC team for testing, including Bryce Harrington,
Sam Stuck, Owen Clarke, Greg Grossmeier.
- The verbosity token 'special' now controls whether the feedback is provided
when special tags are added to a task.
- Added new 'special' verbosity token documentation to man page.
- Added missing 'next' special tag to man page.
- Added new localized strings for describing special tags.
- Rewrote updateRecurrenceMask, which was hopelessly muddled after the
TDB -> TDB2 change.
- Modified associated code.
- Improved signal to noise ratio in unit tests.
- Added regex support to substirutions.
- Fixed bug that prevented 1.9.4 from shipping with regexes. If the
description is "aXXaaXXa", and the substitution is /XX/.../ then the
first substitutions changes the length of the string to "a...aaXXa"
and therefore invalidates the index for the second match, and makes
this change: "a...a...Xa". The fix is to keep a running 'skew' count
of the difference in 'from' and 'to' length, to adjust the match
indexes.
- Moved the helper deltaSubstitutions function into the Task object,
which makes more sense.
- Cleaned up output composition for CmdAdd.
- Eliminated #ifdef FEATURE_REGEX. They are here to stay.