Commit graph

4475 commits

Author SHA1 Message Date
Paul Beckingham
1f253f7fc8 Variant
- ::operator_partial should fail for strings if either operand is of zero
  length.
2014-05-27 00:16:40 -04:00
Paul Beckingham
3c72e87d70 Unit Tests
- Made tests explicit about search terms.
2014-05-27 00:08:33 -04:00
Paul Beckingham
0b160292c0 Variant
- Implemented partial match for strings.
2014-05-27 00:08:07 -04:00
Paul Beckingham
0664cb5689 Unit Tests
- Updated tests to be explicit about plain args being search terms.
2014-05-26 23:44:09 -04:00
Paul Beckingham
f9d534939d Parser
- When a filter contains "uuid:<value>" this is matched using the partial
  match operator, which will allow use of abbreviated UUIDs.
2014-05-26 23:25:33 -04:00
Paul Beckingham
398bc9c824 Task
- If a date attribute is eval'ed and the result is a duration, add the value
  of 'now' to it, and store the result.  So '2wks' as a due date is interpreted
  as 'now + 2ks'.
2014-05-26 23:18:20 -04:00
Paul Beckingham
a32f2f991a Context
- A helper command (e.g. _ids) should be considered a "cmd", "readcmd" and
  "helper" entity.
2014-05-26 23:06:32 -04:00
Paul Beckingham
38fdbdaa50 Parser
- defaultCommand may contains multiple arguments, and so Lexer::split is used
  to properly split it into arguments.
2014-05-26 22:53:52 -04:00
Paul Beckingham
7d69c687b2 Parser
- ::findCommand failed to sport readcmd and helper commands because of a
  copy/paste error.
2014-05-26 21:55:02 -04:00
Paul Beckingham
9106780260 Parser
- Special handling for "project:<value>" where the partial match operator
  is used, instead of the usual exact match operator.
2014-05-26 21:06:45 -04:00
Paul Beckingham
e88ccee1e6 Eval
- Added the new Variant::operator_hastag and Variant::operator_notag operators
  to the expression evaluator. All operators now implemented, at least in
  stubbed form.
2014-05-26 21:05:38 -04:00
Paul Beckingham
ae356a1d32 Variant
- Implemented ::operator_hastag and ::operator_notag.
2014-05-26 21:04:47 -04:00
Paul Beckingham
b06ac68248 Lexer
- When a Lexer::typeIdentifier is found, it can be compared to a list of
  other tokens, with the possibility of changing the type. This applies to
  tokens that are longer than the four-character lookahead in the Lexer.
  With this change, the Lexer can now identify all operators supported by Eval,
  and therefore the Lexer can be used on all Eval input expressions. This is
  because all the evaluator needs to know is the distinction between operators
  and operands.
2014-05-26 20:58:10 -04:00
Paul Beckingham
261f86c134 Task
- Marked areas where eval expansion is likey required.
2014-05-26 20:55:37 -04:00
Paul Beckingham
a119b4c7c3 Task
- When no modifications are provided, but are expected, complain.
2014-05-26 15:18:30 -04:00
Paul Beckingham
bc1c7a6695 args
- Entered a complete and current entity set, for testing.
2014-05-26 15:07:21 -04:00
Paul Beckingham
1b19414178 Parser
- ::findCommand now checks for any abbreviated command.  If it finds either an
  exact match, or no ambiguity, it checks again to determine READCMD, WRITECMD
  or HELPER.
2014-05-26 15:05:56 -04:00
Paul Beckingham
a4d908d8b2 Parser
- Added exact match shortcut.
- Changed order of command matching to reduce changes of the log/logo problem.
- Corrected logic where an "else if" should have been an "if".
- Removed commented-out diagnostics.
2014-05-26 14:18:26 -04:00
Paul Beckingham
4ada2e2c43 Task
- Tag add/remove details improved.
2014-05-26 13:50:56 -04:00
Paul Beckingham
c342159369 Unit Tests
- calc.t was not up to date regarding the form of the diagnostic output.
2014-05-26 13:22:51 -04:00
Paul Beckingham
70620366c4 Eval
- Filter token diagnostics are color coded.
2014-05-26 12:55:22 -04:00
Paul Beckingham
410ca4bcba Context
- Removed uninteresting debug diagnostic.
2014-05-26 12:40:55 -04:00
Paul Beckingham
0857b82618 Task
- Added detailed modification pipeline diagnostics.
2014-05-26 12:18:11 -04:00
Paul Beckingham
bba0b75a3b Eval
- Cleaned up debug FILTER diagnostics.
2014-05-26 12:16:44 -04:00
Paul Beckingham
2030df8563 Task
- Task modifications that involved no 'words' were clobbering the description
  unnecessarily.
2014-05-26 11:02:24 -04:00
Paul Beckingham
0047bb7325 Task
- Date attributes were being saved as strings, which means a default format of
  YYYY-MM-DDThh:mm:ss, and it should have been epoch.
2014-05-26 10:31:43 -04:00
Paul Beckingham
a559890368 CmdPrepend
- Was appending, not prepending.  Duh.
2014-05-25 23:10:54 -04:00
Paul Beckingham
e5e0ac8ba3 CmdCustom
- Captured args do not need additional tags.
2014-05-25 23:03:43 -04:00
Paul Beckingham
904c42fcbe Parser
- ::getCommand should return the canonical form of the command, not the raw
  input.
2014-05-25 22:45:00 -04:00
Paul Beckingham
e2aacb87f9 Arg
- Removed obsolete Arg.
2014-05-25 22:08:04 -04:00
Paul Beckingham
c40cb97cfb A3
- Removed all obsolete A3 code. Onward and upward.
2014-05-25 21:35:33 -04:00
Paul Beckingham
f59109cfab DOM
- Converted A3::is_attribute to Parser::canonicalize.
2014-05-25 21:33:05 -04:00
Paul Beckingham
4661cdf0b2 Build
- When A3.h is removed from Command.h, other include files need to be
  added elsewhere.  That means the dependencies were wrong.  Hmm.
2014-05-25 21:25:49 -04:00
Paul Beckingham
afe4b6883f Context
- Removed all A3 references.
2014-05-25 20:02:26 -04:00
Paul Beckingham
4b12c87c40 Context
- Eliminated call to A3::list.
2014-05-25 19:50:50 -04:00
Paul Beckingham
f87d7bd94a Context
- Converted from A3::find_command to Parser::getCommand.
2014-05-25 19:41:02 -04:00
Paul Beckingham
ce7506f4fc Parser
- Implemented ::getCommand.
2014-05-25 19:32:35 -04:00
Paul Beckingham
f908e2ae02 E9
- Removed obsolete E9, and remaining references.
2014-05-25 19:08:52 -04:00
Paul Beckingham
f495e7c385 A3
- Removed obsolete ::which_operator.
2014-05-25 19:02:44 -04:00
Paul Beckingham
3abff20a46 Code Cleanup
- Removed obsolete A3::postfix, Task::modify, Task::next_mod_group,
  Command::modify_task*.
2014-05-25 18:53:30 -04:00
Paul Beckingham
e7d733881a A3
- Removed obsolete ::extract_modifications method.
2014-05-25 18:00:44 -04:00
Paul Beckingham
fb639496d3 CmdDenotate
- Converted from A3 modifications to Task::modify.
2014-05-25 17:58:12 -04:00
Paul Beckingham
bbbe690307 CmdDelete
- Converted from A3 modifications to Task::modify.
2014-05-25 17:38:55 -04:00
Paul Beckingham
a1a58bdc32 CmdDone
- Converted from A3 modifications to Task::modify.
2014-05-25 17:35:06 -04:00
Paul Beckingham
03d4aacc5c CmdDuplicate
- Converted from A3 modifications to Task::modify.
2014-05-25 17:32:42 -04:00
Paul Beckingham
58bf88f425 CmdLog
- Converted from A3 modifications to Task::modify.
2014-05-25 17:30:49 -04:00
Paul Beckingham
6291f16e1d CmdAnnotate
- Converted from A3 modifications to Task::modify.
2014-05-25 17:28:56 -04:00
Paul Beckingham
969db3a9ed CmdStop
- Converted from A3 modifications to Task::modify.
2014-05-25 17:27:34 -04:00
Paul Beckingham
350b73cb8c CmdStart
- Converted from A3 modifications to Task::modify.
2014-05-25 17:24:59 -04:00
Paul Beckingham
e0e71bb065 CmdPrepend
- Converted from A3 modifications to Task::modify.
2014-05-25 17:23:32 -04:00