Commit graph

7038 commits

Author SHA1 Message Date
Paul Beckingham
d103862bff Test: ID range support was dropped some time ago for dependencies
- 'task <id> modify depends:1-10' has not worked for a while. Not sure
  it needs to be added.
2015-07-27 02:24:45 -04:00
Paul Beckingham
9c8edc4121 CLI2: ::desugarFilterPlainArgs now needs to look for Lexer::Type::identifier 2015-07-27 02:18:36 -04:00
Paul Beckingham
cd1bd1eec9 Test: Reduced performance sensitivity 2015-07-27 02:15:24 -04:00
Paul Beckingham
16620bed45 CLI2: Demoting Lexer::Type::dom args that fail to canonicalize no longer makes sense 2015-07-27 02:13:43 -04:00
Paul Beckingham
1021bb530a Test: 'a360fc44-315c-4366-b70c-ea7e7520b749.foo.bar' is not a DOM ref because '.foo.bar' isn't 2015-07-27 01:54:38 -04:00
Paul Beckingham
a5507678e8 Lexer: ::isDOM failed to enforce minimum size before allowing no endBoundary 2015-07-27 01:53:32 -04:00
Paul Beckingham
c2f08c8f05 Lexer: Bug in ::isDOM required '.' separators to have endBoundary 2015-07-27 01:52:59 -04:00
Paul Beckingham
99a53edca0 Lexer: ::isLiteral now stops at EOS 2015-07-27 00:57:30 -04:00
Paul Beckingham
f2fe397048 Test: Removed time-sensitive tests
- Removed assumptions that 'due:eow' matched +MONTH.
- Removed assumptions that 'due:eom' didn't match +WEEK.
2015-07-27 00:38:24 -04:00
Paul Beckingham
0c7e731b0d Lexer: Integrated ::commonLength
- Uses std::string::size_type for all string lengths, offsets.
- Rewrote ::isLiteral to be simpler.
- Added support for abbreviated DOM refs.
- Obeys rc.abbreviation.minimum, indirectly.
- Added tests.
2015-07-27 00:31:15 -04:00
Paul Beckingham
a9b701ae6d Lexer:: Implemented ::commonLength with offsets, for embedded parsing 2015-07-27 00:04:00 -04:00
Paul Beckingham
244c81a647 Lexer: Implemented ::commonLength for word root comparison 2015-07-26 23:52:17 -04:00
Paul Beckingham
f5792a03fb Lexer: Captures minimumMatchLength for abbreviated attribute matching 2015-07-26 22:58:02 -04:00
Paul Beckingham
8406dd4c6f Documentation: Updated README 2015-07-26 17:12:24 -04:00
Paul Beckingham
466d1ddb69 Test: Cleaned up lexer.t.cpp
- Added more DOM types for testing.
- Added attribute/type mapping to give Lexer a chance to find DOM refs.
- Recategorized DOM-like token to Lexer::Type::identifier, because now DOM
  parsing is more precise.
2015-07-26 16:21:10 -04:00
Paul Beckingham
4646a86d4d Lexer: Added missing rc.<name> DOM parsing 2015-07-26 16:18:58 -04:00
Paul Beckingham
97e52c8f17 CmdInstall: Removed obsolete, unlinked code 2015-07-26 14:17:08 -04:00
Paul Beckingham
7eae358aca Documentation: Improved zsh support (thanks to Daniel Shahaf). 2015-07-26 14:15:27 -04:00
Paul Beckingham
3158883dc4 Cleanup: De-tabbed source 2015-07-26 14:13:29 -04:00
Paul Beckingham
5b61420b52 CmdCommands: zshCommand::operator< wanted to be const for clang 3.2 2015-07-26 14:12:36 -04:00
Daniel Shahaf
aea3091bdb zcmdcat: Refactor for clang 3.0 compatibility 2015-07-26 14:04:58 -04:00
Daniel Shahaf
c78fc47402 zcmdcat: zsh completion: group commands by category 2015-07-26 14:01:59 -04:00
Daniel Shahaf
5ca1dd540e zcmdcat: Categorize 'task context'. 2015-07-26 14:00:02 -04:00
Daniel Shahaf
de9a815063 zcmdcat: Categorize 'task install'. 2015-07-26 13:57:37 -04:00
Daniel Shahaf
53a702d79a zcmdcat: Categorize commands. 2015-07-26 13:55:23 -04:00
Daniel Shahaf
c83f702f58 zcmdcat: Categorize reports. 2015-07-26 13:51:33 -04:00
Daniel Shahaf
8eb965d71d zcmdcat: Initial infrastructure. 2015-07-26 13:49:19 -04:00
Paul Beckingham
f5571c80c6 Lexer: Rewrote ::isDOM to perform exact matching, not pattern matching 2015-07-26 12:22:35 -04:00
Paul Beckingham
d0c4326af3 Lexer: Upgraded attributes vector to a map of name to type 2015-07-26 12:22:02 -04:00
Paul Beckingham
52d2bbd11a Lexer: Implemented ::isOneOf using a std::map as input 2015-07-26 12:09:40 -04:00
Paul Beckingham
58edbb9630 DOM: Aligned comments with Lexer 2015-07-26 12:08:40 -04:00
Paul Beckingham
18295a3b32 Test: Added Lexer::isLiteral and Lexer::isOneOf tests 2015-07-26 10:56:18 -04:00
Paul Beckingham
391d527328 Lexer: Added end-boundary sensitivity to ::isLiteral and ::isOneOf 2015-07-26 10:48:26 -04:00
Paul Beckingham
3e74aa51e2 Lexer: Added 'endBoundary' requirement to ::isUUID 2015-07-25 17:59:40 -04:00
Paul Beckingham
f910ce39de Test: Added TODO notes for further test scenarios 2015-07-25 17:55:39 -04:00
Paul Beckingham
c769891b76 Lexer: Implemented ::isInteger to help parsing. 2015-07-25 17:54:55 -04:00
Paul Beckingham
37e31e8e0b Lexer: Implemented ::isOneOf, to help with parsing 2015-07-25 17:34:51 -04:00
Paul Beckingham
9394b96202 Lexer: Implemented ::isLiteral, to help with parsing 2015-07-25 17:34:01 -04:00
Paul Beckingham
7354a8f13f CLI2: Context not applied for certain commands and args
- The 'undo', 'export' and all helper commands are exempt from context
  filtering.
- Any command line containing a FILTER with Lexer:Type::set or Lexer::Type:uuid
  is also exempt from context filtering.
2015-07-25 17:23:06 -04:00
Paul Beckingham
3fd8545d43 Test: Propagated typo fix to tests 2015-07-25 14:07:14 -04:00
Paul Beckingham
1dc1cf0cb7 Test: Added explanation 2015-07-25 14:06:32 -04:00
Paul Beckingham
77190eda6c Test: Added space separator for DOM output
- When using multiple arguments (task _get 1.due 2.due), the results are
  separated by a space, even if the values are blank. The consistency of this
  is good, but the test ignored it.
2015-07-25 14:05:12 -04:00
Paul Beckingham
d05cb1c147 L10N: Typo fix
- Thanks to Daniel Shahaf.
2015-07-25 14:03:50 -04:00
Paul Beckingham
804c3526ba Test: Accepted the de facto behavior is better than the intended behavior
- Adding an 'until' date to a recurring task is propagated to the task instances
  and they expire at the same time. It was assumed otherwise, but the working
  behavior is better.
2015-07-25 14:00:27 -04:00
Paul Beckingham
42d5ebfd4b Test: Reduced sensitivity of test
- Some virtual tags appear only when a task is due in the same MONTH, so it is
  easy to imagine on July 31st testing 'due:tomorrow' and it being a different
  month.
2015-07-25 13:59:08 -04:00
Paul Beckingham
5f30c9e2c3 Feature: Extra arg detection
- Commands that do not accept filters or modifications now generate an error
  when extra arguments are specified.
2015-07-25 13:58:15 -04:00
Paul Beckingham
8684639f72 Filter: Implemnted ::hasFilter to detect command line filters 2015-07-25 10:01:06 -04:00
Paul Beckingham
99e0953489 TW-1641: 'edit' should process or reject <mods> arguments
- Thanks to Daniel Shahaf.
2015-07-25 09:39:13 -04:00
Paul Beckingham
7aa101de58 Filter: Implemented ::hasModifications to detect command line modifications 2015-07-25 09:28:55 -04:00
Paul Beckingham
6510026189 RC: Conditional compilation regarding REG_ENHANCED. 2015-07-25 01:04:11 -04:00