Commit graph

995 commits

Author SHA1 Message Date
Paul Beckingham
343c43a010 Enhancement - filter on annotation
- Description filters now automatically apply to annotations.
2009-06-21 11:31:03 -04:00
Paul Beckingham
245339e7fc Documentation Update
- Added attribute modifiers to the help report.
2009-06-21 09:08:32 -04:00
Paul Beckingham
fab37d3383 Enhancment - interactive shell
- At the request of several, and the great example of John Florian,
  task has an interactive shell.
2009-06-21 08:39:53 -04:00
Federico Hernandez
93a68361a7 Changed dates for epoch conversion due to TZ variations 2009-06-20 23:03:06 +02:00
Federico Hernandez
aae4cbac8b Fixed include statement for Linux 2009-06-20 21:56:54 +02:00
Paul Beckingham
cbecec263a Enhancement - all attribute modifiers working
- Implemented before, below, under, after, above, over.
2009-06-20 15:37:01 -04:00
Paul Beckingham
3bed6bb573 Enhancements - config variables, debug
- "debug" now considered a valid configuration variable.
- "alias.*" now considered a valid configuration variable.
- Moved some messages over to use Context::debug.
2009-06-20 14:14:51 -04:00
Paul Beckingham
344b1aba58 Enhancement - nag
- Improved nagging with respect to multiple tasks.
2009-06-20 13:55:11 -04:00
Paul Beckingham
f5e0f8b7a6 Enhancement - echo ID on add
- When a task is added, the new ID is echoed back, for convenience.
  This requires a scan of the pending file, so there is a performance
  hit, and the feature is controlled by the FEATURE_NEW_ID define.
2009-06-20 13:06:53 -04:00
Paul Beckingham
02518e0223 Enhancement - debug support
- Added debug=on support.
- Added color.debug= support.
2009-06-20 10:54:01 -04:00
Federico Hernandez
173b3f6828 Fixed include statement for Linux 2009-06-19 08:51:44 +02:00
Paul Beckingham
dcb4ae5497 Bug Fix - durations
- Fixed bug where durations (recur:x) were not properly parsed and
  validated.
- Fixed bug where the list output was being improperly parsed.
2009-06-19 00:52:48 -04:00
Paul Beckingham
8dab95e200 Bug Fix - recurrence
- Fixed bug whereby handleRecurrence was being called after the tasks
  were loaded and filtered, and thus handleRecurrence operated on a
  filtered set, and failed.  The fix is to move the call to before the
  TDB::load call, and to add another TDB::loadPending call inside
  handleRecurrence.  This means TDB::load needs to be reentrant without
  re-reading the file, and can therefore be called twice, with the
  likelihood of there being a different filter for each call.  This in
  turn led to the problem whereby handleRecurrence would generate the
  synthetic tasks, which then sat uncommitted in TDB::mNew.  The fix
  for this is that every call to TDB::loadPending gets the contents of
  TDB::mNew appended (with correct IDs).  This bug is what you might
  call a good one.
2009-06-19 00:15:38 -04:00
Paul Beckingham
20bd2cf594 Unit Tests - oldest, tag
- Fixed oldest.t unit tests that relied on "task oldest 3" instead of
  the new "task oldest limit:3".
- Fixed tag.t so that it uses example tags +one +two instead of the
  original +1 +2, because when it comes time to remove those tags
  with -1 -2, the tags are interpreted as a malformed sequence.
2009-06-18 23:23:07 -04:00
Paul Beckingham
3ffb855956 Bug Fixes - Att, Subst
- Fixed but that required all known attributes to be listed by name
  in order to be recognized by creating new Att::validInternalName
  method.
- Fixed bug in non-global Subst that failed to save a modified
  annotation.
2009-06-18 23:14:26 -04:00
Paul Beckingham
cea84b3d3b Bug Fix - export
- Fixed export bug that was emitting quoted blank strings, instead of
  blank strings.
- Fixed undo.t unit tests.
2009-06-18 22:52:27 -04:00
Paul Beckingham
456a493ab5 Bug Fix - Att
- The "due" date was not being parsed according to the desired dateformat,
  but in the default "m/d/Y".
2009-06-18 22:13:05 -04:00
Paul Beckingham
9c2e70b73a Bug Fixes, Unit Tests
- Fixed bug where "foo:bar" was not recognized as an attribute, and
  generated an error rather than demoting is to part of the description.
- Fixed bug where en-passant deltas were applied only to the first task
  in a sequence.
- Fixed various unit test.
2009-06-18 22:01:43 -04:00
Paul Beckingham
1511c1fcfd Enhancments - aliases
- Began implementation of aliases.  All commented out for now.
2009-06-18 20:42:12 -04:00
Paul Beckingham
315c70c503 Enhancement - custom report name collisions
- Task now emits an error if a custom report name collides with
  that of a built-in command.
2009-06-18 20:13:12 -04:00
Paul Beckingham
aeaf443f67 Enhancement - statistics
- Added total data file size to statistics report.
- Implemented util.cpp/formatBytes.
2009-06-18 19:47:57 -04:00
Paul Beckingham
ec17eaaa43 Documentation Update - help
- Added 'limit' to help output.
- Combined /from/to/ and /from/to/g into one help line.
- Added example of -- argument in use.
2009-06-18 18:49:47 -04:00
Paul Beckingham
ae3257b623 Bug Fix - tags report using std::cout
- The tags report was writing directly to std::cout, therefore
  bypassing the header/footer control.
2009-06-18 18:37:53 -04:00
Paul Beckingham
b9a1993692 Bug Fix - limit:
- The limit: attribute can now be specified on the command line, to
  override any custom report filter.
2009-06-18 18:34:40 -04:00
Paul Beckingham
af606598fa Bug Fix - recur.t
- Fixed bug that causes recur.t to fail.  The "recur:" duration was
  being converted to days, whereas it should have been kept as a
  literal.
2009-06-18 17:45:27 -04:00
Federico Hernandez
96be49b78d Replaced nested if statement with boolean logic expression 2009-06-18 09:48:46 +02:00
Federico Hernandez
8cf7888fd5 * Wrong unit test and algorithm for leapyears (year 1900) 2009-06-18 09:18:13 +02:00
Federico Hernandez
0ae76d3bf2 Fixed include statement for Linux 2009-06-18 09:11:59 +02:00
Paul Beckingham
5eb4d23685 Bug Fix - nag
- TDB::gc now displays a header message.
- nag function now piggy-backs on existing locked TDB.
2009-06-18 01:55:04 -04:00
Paul Beckingham
b932d9b9b7 Bug Fix - custom report filters
- Added support for using parent in a filter.
- Fixed bug that ignored custom report filters.
- Made Context::parse and Context::autoFilter reentrant.
2009-06-18 01:41:15 -04:00
Paul Beckingham
4d43b77441 Enhancement - recurring tasks
- Implemented handleRecurringTasks.
- Implemented TDB::nextId.
2009-06-18 00:02:12 -04:00
Paul Beckingham
840c61cbbf Enhancement - nag
- Implemented nag feature.
2009-06-17 23:39:39 -04:00
Paul Beckingham
7e2da42f40 Bug Fix - due date, colorization
- Fixed bug that caused colorization to be way, way off.  Silly
  mistake.
- Fixed bug whereby due dates and durations were stored as-is, but
  should have been converted.
- On a related note, added Date::toEpochString,
  Duration::operator (std::string).
2009-06-17 22:52:04 -04:00
Federico Hernandez
f701f10234 * Files needed for cygwin packaging
- usr <- binary tarball
  - CYGWIN-PATCHES <- source tarball
  - patch to create CYGWIN PATCHES inside source tarball
2009-06-17 22:53:09 +02:00
Paul Beckingham
61cedc3ad1 Enhancement - import command
- Implemented import command
- Implemented Context::clearMessages to remove all accumulated
  messages.  This is needed because parts of the import process are
  recursive and we don't want Context to dump messages for every
  import record on completion.
2009-06-17 00:59:31 -04:00
Paul Beckingham
07cf8d6ee8 Enhancements - edit command
- Implemented edit command.
2009-06-17 00:03:09 -04:00
Paul Beckingham
b2c76f6123 Enhancement - modify command
- Implemented modify command
2009-06-16 23:25:35 -04:00
Paul Beckingham
051720a279 Enhancement - annotate
- Implemented annotation command.
2009-06-16 22:55:05 -04:00
Paul Beckingham
23f0a9658e Enhancement - duplicate
- Implemented duplicate command.
- Now allows duplication (and demotion) of recurring tasks.
2009-06-16 22:40:59 -04:00
Paul Beckingham
8a22ac7cf2 Enhancement - header, footer, message
- Added header, footer and message sinks.
- Added individual colorization of headers, footers and messages.
- Added new configuration variables to Config.cpp, taskrc.5.
- Added colorization functions to rules.cpp
2009-06-16 21:55:30 -04:00
Paul Beckingham
e7a0a20d55 Optimization
- TDB::load can entirely skip the loading of completed.data if the
  specified filter is just so.
- Added FEATURE_TDB_OPT definition to allow disabling of this.
2009-06-16 18:35:02 -04:00
Paul Beckingham
7a77cd6d4a Unit Tests - export.t
- Corrected export unit test to account for the new syntax of the export
  command, which no longer accepts a file name argument, and send the report to
  stdout instead.
2009-06-16 16:34:46 -04:00
Paul Beckingham
78ec411067 Enhancements
- Added text.cpp/ucFirst function to capitalize words, so that "pending"
  can now appear as "Pending" on the info report.  This helps task pass
  many more test cases.
2009-06-16 13:32:11 -04:00
Paul Beckingham
7a2c40626e Unit tests - add.t
- Reduced verbiage in tests.
2009-06-16 12:51:13 -04:00
Paul Beckingham
027b343e49 Bug Fixes - autofilter
- Auto filter now only creates a filter for read-only commands.
- Fixed bug whereby ambiguities were reported twice:
    "could be one of a, b, a, b".
2009-06-16 12:05:04 -04:00
Paul Beckingham
97d732e5f7 Enhancements - filters
- The project attribute is now automatically filtered with
    project.startswith:<value>
  to provide leftmost matching (ie subprojects).
- Unmodifiable attributes (uuid, start ...) are now prevented from
  being updated if the command is designated as a "write" command.
2009-06-16 10:42:53 -04:00
Paul Beckingham
5691ed0588 Bug Fix - custom reports
- Fixed bug that applied an empty sequence as a filter, which passed
  no tasks.
2009-06-16 01:31:49 -04:00
Paul Beckingham
cdd07be331 Enhancement - Att::type
- Implemented Att::type to discern attribute types to assist with
  type-specific modifier evaluation.
- Fixed bug that required attributes to have specified values, whereas
  stating "name:" means no value for name.
2009-06-16 00:51:11 -04:00
Paul Beckingham
db0d85f5e7 Bug Fix - description in filter
- The description attribute may now be used in a filter.
2009-06-16 00:30:56 -04:00
Paul Beckingham
6a77d61faa Enhancements - undo command
- Implemented the undo command.
2009-06-16 00:16:43 -04:00