Commit graph

378 commits

Author SHA1 Message Date
Paul Beckingham
1b3ac82d7e TDB2
- Eliminated the now obsolete TDB code from Context.
- Added auto-commit code for commands that auto-gc.
2011-09-03 13:02:17 -04:00
Paul Beckingham
e7a255ca16 TDB2 integration
- Enabled the TDB2::clear call, paving the way for TDB elimination.
2011-09-03 11:14:24 -04:00
Paul Beckingham
dab06f8672 Code Cleanup
- All objects now use the same convention for naming members.  The
  consistency is a good thing.
2011-08-25 21:54:28 -04:00
Paul Beckingham
e573801517 TDB2 - Diagnostics
- Added a diagnostic dump of the TDB2 state in debug mode.
- Added a call to TDB2::dump at the start of TDB2::commit.
- Removed unnecessary calls to TDB2::dump.
2011-08-22 23:04:38 -04:00
Paul Beckingham
ac9d1f3bfa Performance Timing
- Change the was performance measurements are taken.  This in preparation
  to automated daily perf charts, leading to efforts to speed up certain
  operations.
2011-08-15 21:53:01 -04:00
Paul Beckingham
a171f6e4ac Bug
- Fixed bug whereby arguments were categorized, then defaults were injected
  but no subsequent categorization occurred.
- Added debug diagnostics for default.command, 'modify' and 'information'
  default processing.
2011-07-31 14:01:41 -04:00
Ben Boeckel
a29097d9e0 [PATCH 2/2] Fix default task directory path
Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-07-29 22:39:13 -04:00
Paul Beckingham
0c08b29e48 Code Cleanup
- Eliminated obsolete Arguments.h, Arguments.cpp.
2011-07-26 00:25:57 -04:00
Paul Beckingham
abcda0bcfa Expression reboot
- More integration of A3 into Context.
- Now ready for filter/modification/word extraction.
2011-07-23 17:03:44 -04:00
Paul Beckingham
4fc4e0f637 Expressions reboot
- Now handles argument captures from argv, stdin.
- Now handles rc overrides, aliases, default command.
2011-07-23 15:24:39 -04:00
Paul Beckingham
5b5978952a Expressions reboot
- Created A3.{h,cpp} which will be a simpler, lightweight version of
  Arguments.{h,cpp} that does less, but does it better.
- Created E9.{h,cpp} which will be a better implementation of
  Expression.{h,cpp} that does less, but does it better.
- Integrated A3 into Context::initialize, and Arguments and A3 will
  coexist until A3 surpasses Arguments.
2011-07-23 13:38:33 -04:00
Paul Beckingham
1164ea5cf1 Expression support
- Added Context::getColumns to return a vector of column names.
  This is to help a shift toward using the Column objects to assist
  in the parsing/validation of data entry/modifications.
- Added Column::modifiable to delegate an attributes readable/writeable
  state.  This means the columns will be in charge of their own
  mutability, which will simplify and generalize Command::modify_task.
2011-07-23 12:08:13 -04:00
Paul Beckingham
7fbe124fe0 Unit Tests
- Added proper handling for when no command or filter is specified, and
  no rc.default.command exists.
- Improved wording on above error message.
- Fixed typo in previous commit (managed to check in code before the
  build completed, and ultimately failed).
- Now reports errors that occur during initialization at the same level
  of verbosity as during command execution.
2011-07-16 15:33:09 -04:00
Paul Beckingham
3a5370ddf1 Filters
- Implemented Command::filter_shortcut to detect when a filter begins
  with "status:pending" and skip the loading/parsing of completed.data.
- Removed obsolete att.t.cpp tests.
- Removed diagnostics from TDB2::TDB2 that were causing a segfault.
  I suppose there is no std::cout available during global ctors?
2011-07-14 00:46:01 -04:00
Paul Beckingham
5b4c46fe42 TDB2
- Began serious TDB2 development by adding TDB2::dump, which shows
  all the file-related data in debug mode.
2011-07-11 23:19:21 -04:00
Paul Beckingham
f0d2af2651 Filter Bugs
- A substitution arg is categorized as "subst", but was tested for
  "substitution".
- The Arguments::is_multipart method was triggering on '/', which is
  wrong, but I can't remember why I put it in there.  Hmmm.
- When extracting a write-filter, substitutions after the command
  were generating an error, whereas they should be ignored.
- Task::substitute was modifying data even when the patterns were not
  matching.  Yikes.
- Added unit tests for en-passant modification of all types during
  done, delete, start, stop.
2011-07-10 01:03:52 -04:00
Paul Beckingham
b5f04a3ebc Code Cleanup
- Obsoleted Context::disallowModifications, because they are no longer
  disallowed.
2011-07-09 23:27:20 -04:00
Paul Beckingham
a16b8366cd TDB
- Integration TDB2 into the initialization process.  It begins...
2011-07-09 21:25:46 -04:00
Paul Beckingham
8731bf9ac6 Calendar
- If the program is renamed 'cal' or 'calendar', or symlinked to
  either 'cal' or 'calendar', then the calendar report is run.
2011-07-08 01:16:05 -04:00
Paul Beckingham
01253f1cdf Error Handling
- Errors that occur during initialization no longer prevent the
  display of debug info.
2011-07-06 22:52:59 -04:00
Paul Beckingham
7faad5fb44 Command Line Defaults
- Implemented support for rc.default.command.
- Implemented support for assumed info command.
- Implemented Arguments::inject_defaults to insert default arguments
  at just the right location.
- Corrected CmdCustom handling of limit:page.
2011-06-26 01:21:11 -04:00
Paul Beckingham
3c1c900b5b Columns
- Refactored column objects to contain a ::validate method, for the
  validation of incoming data.
- Context.columns is now a vector of one of each column object,
  indexed by attribute name, for validation purposes.
2011-06-24 00:39:28 -04:00
Paul Beckingham
f971fcd110 Code Cleanup
- Obsoleted Filter.{h,cpp}.
- Obsoleted Sequence.{h,cpp}.
- Eliminated Context::autoFilter.
- Stubbed Expression::eval.
2011-06-15 23:45:50 -04:00
Paul Beckingham
90f6f537fe Bug #783
+ Fixed bug #783, which fixes completed and deleted tasks still showing as
  active (thanks to Adam Wolk).
2011-06-07 01:21:46 -04:00
Paul Beckingham
86dcec8aea Expressions
- 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.
2011-06-05 13:47:52 -04:00
Paul Beckingham
61e549c80c Code Cleanup
- Removed many more uses of the 'foreach' macro.
2011-06-04 23:02:18 -04:00
Paul Beckingham
f9c1820740 Argument Parsing
- 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.
2011-06-04 18:42:33 -04:00
Paul Beckingham
58a677ffb5 Argument Parsing
- 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}.
2011-06-04 15:11:34 -04:00
Paul Beckingham
b4c1e47ab4 Argument Parsing
- 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.
2011-06-04 14:30:45 -04:00
Paul Beckingham
644d027a87 Argument Parsing
- 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.
2011-06-04 12:33:58 -04:00
Paul Beckingham
e200b2a502 L10N
- Localized Hooks.cpp
2011-06-02 22:26:19 -04:00
Paul Beckingham
e19f087931 Refactor
- Prepared CmdCustom for new command line processing code.
2011-06-02 00:47:05 -04:00
Paul Beckingham
a3912d9123 Refactoring
- 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.
2011-06-02 00:17:16 -04:00
Paul Beckingham
a2da93b681 Commands - modify
- Migrated handleModify to CmdModify.
2011-05-30 15:48:20 -04:00
Paul Beckingham
510ce650a6 Commands - merge
- Migrated handleMerge to CmdMerge.
2011-05-30 14:45:39 -04:00
Paul Beckingham
af90a14cb5 Commands - push
- Migrated handlePush to CmdPush.
2011-05-30 14:37:39 -04:00
Paul Beckingham
99fae1f9a8 Command - pull
- Migrated handlePull to CmdPull.
2011-05-30 14:30:14 -04:00
Paul Beckingham
abd51e81a3 Commands - delete
- Migrated handleDelete to CmdDelete.
2011-05-30 14:00:34 -04:00
Paul Beckingham
908fbd8ca4 Commands - done
- Migrated handleDone to CmdDone.
2011-05-30 13:53:57 -04:00
Paul Beckingham
75a24f5113 Commands - timesheet
- Migrated handleReportTimesheet to CmdTimesheet.
2011-05-30 13:46:08 -04:00
Paul Beckingham
2fb743992f Command - undo
- Migrated handleUndo to CmdUndo.
2011-05-30 13:38:45 -04:00
Paul Beckingham
4c47748dd7 Commands - calendar
- Migrated handleReportCalendar to CmdCalendar.
2011-05-30 13:30:18 -04:00
Paul Beckingham
a7d5641d00 Commands - import
- Migrated handleImport to CmdImport.
2011-05-30 13:18:10 -04:00
Paul Beckingham
4603bdb509 Commands - _query
- Migrated handleQuery to CmdQuery.
2011-05-30 13:00:51 -04:00
Paul Beckingham
75e651626d Commands - summary
- Migrated handleReportSummary to CmdSummary.
2011-05-30 12:49:45 -04:00
Paul Beckingham
61c2e2b439 Commands - duplicate
- Migrated handleDuplicate to CmdDuplicate.
2011-05-30 12:35:56 -04:00
Paul Beckingham
73e9f52793 Feature #655
- New command that lists reports and their descriptions.
2011-05-30 12:25:50 -04:00
Paul Beckingham
37b48c56d5 Commands - export
- The default export format is now JSON, with an alias that maps 'export'
  to '_query'.
2011-05-30 11:42:35 -04:00
Paul Beckingham
6cf7644e02 Commands - config
- Migrated config and _config to CmdConfig.
2011-05-30 11:18:59 -04:00
Paul Beckingham
9e3c6f5bc1 Commands - stop
- Migrated handleStop to CmdStop.
2011-05-30 01:19:11 -04:00