Commit graph

4454 commits

Author SHA1 Message Date
Paul Beckingham
1ec029be9b Lexer: Relocated instantiation closer to first use 2015-07-13 16:44:55 -04:00
Paul Beckingham
a7eb32272c TW-1419: On add '-tag' is considered a tag removal, which makes no sense. 2015-07-13 14:24:24 -04:00
Paul Beckingham
326367a36e TW-1488: You have more urgent tasks
- Thanks to Stefan Betz, Denis Kasak.
2015-07-13 11:40:42 -04:00
Paul Beckingham
0990b0d582 TW-1575: task log mangles URLs when quoted
- Thanks to Luke Macken.
2015-07-13 10:41:55 -04:00
Paul Beckingham
78bfe98070 TW-1632: Japanese translation for Taskwarrior(150713)
- Thanks to ribbon.
2015-07-13 09:43:28 -04:00
Paul Beckingham
43e7aace46 Improvement: TW-1615
- TW-1615 Japanese translation for Taskwarrior(150513) (thanks to ribbon).
2015-07-13 08:15:27 -04:00
Paul Beckingham
a09a2bc241 CLI2: Added conditional expression eval
- Only non-'string' type attributes ('numeric', 'date', 'duration') support the
  evaluation of values in FILTER arguments, for example:
    due.before:now+1d
  If evaluation is supported, values need to be lexed into tokens, and if there
  are multiple tokens, parenthesize the set.
2015-07-13 01:09:11 -04:00
Paul Beckingham
9f2efa67c2 CLI2: Reduced verbosity of debug output 2015-07-13 00:22:19 -04:00
Paul Beckingham
d2f5937344 CLI2: Fixed bug that allowed numbers to be interpreted as IDs
- For a WRITECMD with no FILTER args, if a Lexer::Type::number exists as a
  MODIFICATION, and that number is an unsigned integer, then promote it to
  an ID. Added eceptions for the 'add' and 'log' command.

  This feature allows for the continued use of 'task done 1', which should
  be deprecated.
2015-07-12 23:32:26 -04:00
Paul Beckingham
012affa46a CmdUnique: New helper command to generate unique value lists 2015-07-12 22:03:00 -04:00
Paul Beckingham
f0c8330ebf Filter: Added a mechanism to override ::safety 2015-07-12 22:02:11 -04:00
Paul Beckingham
694323a8f1 CLI2: Implemented ::lexFilterArgs
- Now spots filter elements that need to be Lexed.
2015-07-12 17:57:52 -04:00
Paul Beckingham
c2c53fa668 CLI2: Tags args 'UNKNOWN' to help spot an worthless use case 2015-07-12 17:56:59 -04:00
Paul Beckingham
f09a39f043 CLI2: Cleaned up formatting 2015-07-12 17:56:40 -04:00
Paul Beckingham
b7c1658a6e CLI2: Trim incoming raw args 2015-07-12 17:32:10 -04:00
Paul Beckingham
6b78abced2 CLI2: Tightened selection of MODIFICATION Lexer::Type::number upgrade to ID
- When a write command contains no ID/UUID, looking for Lexer::Type::number
  arguments that are tagged as MODIFICATIONS is now limited to only positive
  integers that are found.
2015-07-12 16:12:32 -04:00
Paul Beckingham
81fc158dc9 CLI2: Better algorithm for ::desugarFilterPlainArgs which appears to work well 2015-07-12 14:07:48 -04:00
Paul Beckingham
f240c783cb Config: The 'completed' report haѕ a column labeled 'took'!?
- Good grief.
2015-07-11 22:34:27 -04:00
Paul Beckingham
e930bb0ba9 Columns: Removed _fixed_width for indicator columns
- Column indicator formats (depends.indicator, for example), should not set the
  ::_fixed_width flag because then the column does not have the opportunity to
  be suppressed via rc.print.empty.colums=1.
2015-07-11 22:09:15 -04:00
Paul Beckingham
29d6eceda1 CLI2: ::desugarFilterAttributes now relies on earlier parsing 2015-07-11 17:13:18 -04:00
Paul Beckingham
3f3d698a28 CLI2: Integrated Lexer::decomposePattern 2015-07-11 17:10:10 -04:00
Paul Beckingham
d0e4f4ca10 Lexer: Implemented ::decomposePattern 2015-07-11 17:09:29 -04:00
Paul Beckingham
1f8a66b7f3 CLI2: Integrated Lexer::decomposeSubstitution
- Task::modify now considers the 'g' at the end of a substitution to be a
  string of characters, which may contain 'g'. No other flags are currently
  supported.
2015-07-11 16:44:13 -04:00
Paul Beckingham
1bef45ff47 Lexer: Added ::decomposeSubstitution and more flexible ::dequote
- ::dequote can now be given a string of valid quote characters, which defaults
  to '".
- ::decomposeSubstitution properly parses the /from/to/g construct allowing for
  escaped characters (\/).
- The 'g' at the end of a substitution is now considered to be a string of flag
  characters, which may contain 'g'. No other flag values are currently
  supported.
2015-07-11 16:40:52 -04:00
Paul Beckingham
d6d01ee1bf CLI2: Fixed bug where only the first lexeme was used
- For quoted Lexer::Type::pair arguments, use the whole quoted arg, not merely
  the first lexeme.
2015-07-11 14:31:09 -04:00
Paul Beckingham
6d9d896a37 CLI2: ::lexArguments auto-quotes orignally quoted args, but didn't dequote after 2015-07-11 13:47:26 -04:00
Paul Beckingham
642f378462 Lexer:: Implemented ::isHardBoundary to detect filter tokens 2015-07-11 13:12:09 -04:00
Tomas Babej
15dea00eeb Task: Do not include recurring tasks into OVERDUE virtual tag 2015-07-11 11:46:51 -04:00
Paul Beckingham
8afc7443e4 Lexer: Fixed bug that allowed unterminated quotes strings, again 2015-07-11 11:25:24 -04:00
Paul Beckingham
d3971d2384 Lexer: Replaced ::isString implementation with a call to ::readWord 2015-07-11 11:06:43 -04:00
Paul Beckingham
b7438edfd5 Lexer: Fixed bug that allowed unterminated quotes strings 2015-07-11 10:56:55 -04:00
Paul Beckingham
daba36860b Lexer: Modified ::isSubstitution to use ::readWord 2015-07-11 10:27:23 -04:00
Paul Beckingham
096737bd02 Lexer: Modified ::isPattern to use ::readWord 2015-07-11 10:27:06 -04:00
Paul Beckingham
4d82dd7985 Task: Lexer::Type::word arguments are dequoted before being stored 2015-07-10 13:15:42 -04:00
Paul Beckingham
21be6862db CLI2: ::lexArguments now uses ::readWord to expand escapes 2015-07-10 13:15:16 -04:00
Paul Beckingham
a86edaa6b2 Lexer: Converted ::isPair to use ::readWord
- With ::isPair using ::readWord, attribute values may now contain escaped
  entities such as \t, \uNNNN, and U+NNNN.
- Removed distinct handling for <name><sep><value>, rc<sep><value> and
  rc.<name><sep><value> - all generic now.
2015-07-10 11:24:57 -04:00
Paul Beckingham
45aaa530ac Lexer: Skipping whitespace on ::readWord at SOL was a mistake 2015-07-10 11:23:57 -04:00
Paul Beckingham
e55528e21e Lexer: ::readWord now skips leading whiteSpace 2015-07-08 11:24:46 -04:00
Paul Beckingham
5a21945a0d CLI2: Integrated Lexer::decomposePair 2015-07-08 09:48:15 -04:00
Paul Beckingham
e6c4f48a48 Lexer: readWords for quoted strings now retains the quotes 2015-07-08 09:03:48 -04:00
Paul Beckingham
1fed8c55f1 Lexer: Collapsed two ::isString calls into one 2015-07-06 16:40:18 -04:00
Paul Beckingham
7a6d546a0d Lexer:: Added polymorphic ::readWord for quoteѕ and unquoted strings 2015-07-06 16:37:46 -04:00
Paul Beckingham
abaf326855 CLI2: Added note about path exclusion 2015-07-06 16:03:24 -04:00
Paul Beckingham
d82da280cb Lexer: Implemented ::readWord
- Lexer::readWord is a general-purpose text parser, for finding plain words and
  quoted strings. It supports \uNNNN and U+NNNN unicode sequences, and general
  escapes, \t, \', \" etc.
2015-07-06 15:32:12 -04:00
Paul Beckingham
0ee26a0cae CLI2: No longer attempts to canonicalize rc:<file> and rc.<name>:<value> 2015-07-06 12:14:52 -04:00
Paul Beckingham
dcb13bd2b4 CLI2: Integrated Lexer::decomposePair into A2::decompose 2015-07-06 12:13:46 -04:00
Paul Beckingham
e36fb2f10c Lexer: Switched argument order for ::decomposePair 2015-07-06 12:10:50 -04:00
Paul Beckingham
81599071e7 Lexer: Implemented ::decomposePair 2015-07-06 11:28:39 -04:00
Paul Beckingham
023fd9d38a CLI2: Removed obsolete ::decomposeModSubstitutions 2015-07-05 16:31:30 -04:00
Paul Beckingham
af71af1085 CLI2: Removed obsolete ::decomposeModTags 2015-07-05 16:30:59 -04:00