Commit graph

903 commits

Author SHA1 Message Date
Paul Beckingham
78afa4e110 Enhancement - Aliases
- Moved alias mapping to Context.
- Added Context::canonicalize to resolve aliases.
- Added Context::loadAliases to reload on config file change.
- Removed old alias processing from Cmd.
- Doesn't work yet, but the data is loaded.
2009-06-23 17:38:58 -04:00
Paul Beckingham
b6bc72c449 Enhancement - confirm3
- Added a tri-state confirmation function for confirming bulk operations
  allowing the user to answer yes/no/all to and optionally allow,
  disallow or bulk-allow big changes.
2009-06-23 14:56:15 -04:00
Paul Beckingham
acb6e3cfdc Enhancement - timers
- Timers now only use fixed precision for even very small numbers.
2009-06-23 09:56:31 -04:00
Federico Hernandez
b31cc639a4 Fixed bug due to incompatible 'date' commands on OS X and Linux
to display runtime of all unit tests
2009-06-23 10:49:55 +02:00
Paul Beckingham
f7c91d6db7 Unit Tests
- Fixed a series of broken tests.
2009-06-23 01:54:16 -04:00
Paul Beckingham
f7d40e8d8d Unit Tests
- Fixed unit test build problem.
2009-06-23 01:32:24 -04:00
Paul Beckingham
50f000988b Debugging
- Added timers to measure performance.
2009-06-23 01:23:46 -04:00
Paul Beckingham
e59e35ae29 Code Cleanup
- Added declared but unimplemented copy constructors and assignment
  operators.
2009-06-23 00:00:50 -04:00
Paul Beckingham
c6a56d444e Bug Fix, Tweaks
- .taskrc debug= now defaults to 'off', which will reduce clutter
  and won't surprise beta testers.
- interactive.cpp did not compile when ncurses was not detected by
  autoconf.  That code branch obviously never got executed.
- The interactive shell now instructs the user to type 'quit' to
  leave the shell.
2009-06-22 22:33:09 -04:00
Paul Beckingham
62449d8b3e Bug Fix - Calendar
- Fixed bug in calendar that failed to consider only pending tasks
  when coloring in the calendar display, and when calculating the
  most overdue task to be displayed.
- Modified util.cpp/formatSeconds to stop displaying fractional days,
  because having a task age represented as 5.1 days is silly.
2009-06-22 16:59:51 -04:00
Federico Hernandez
a4f9493ce7 Added output of runtime 2009-06-22 09:19:10 +02:00
Federico Hernandez
dd3b651767 Fixed include statement for Linux 2009-06-22 08:32:52 +02:00
Federico Hernandez
39da7bddfd Added dummy tips file for German and Swedish 2009-06-22 08:23:01 +02:00
Federico Hernandez
94e4c7b9da Ignore temp data in tests dir 2009-06-22 08:21:17 +02:00
Paul Beckingham
329a78039a Enhancement - wait status
- Supports the new Task::waiting status.
- Supports: task <id> wait:<date>
- Supports: task <id> wait:
- Supports: task waiting
2009-06-21 22:42:32 -04:00
Paul Beckingham
40bde9e765 Enhancement - shadow files
- Properly clears out the context, so shadow files can work.
2009-06-21 15:37:36 -04:00
Paul Beckingham
52fb6abb9b Enhancement - tips
- Added new tips file, in the correct format (unix fortune), with
  dummy entries.  If we are to support a "task tip" command in future
  versions, we need to start gathering the tips now.
2009-06-21 12:01:30 -04:00
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