Paul Beckingham
6890fd32c7
Task: Duration handling improvements
...
- Separated handling for 'recur' (store in raw form) and type 'duration'
attributes (store formatted).
- Added missing storage handling for type duration attributes.
2015-07-16 16:15:47 -04:00
Paul Beckingham
76d3efe313
Lexer: Improved termination for UUID types
2015-07-16 16:15:07 -04:00
Paul Beckingham
82802f7f47
CmdInfo: Properly formats ISO durations
2015-07-16 16:14:34 -04:00
Paul Beckingham
ac011807d2
ISO: Changed the incorrect 'P0S' to the correct 'PT0S'
2015-07-16 16:14:17 -04:00
Paul Beckingham
3a9505f56c
DOM: Durations may now be ISO8601p or Duration
2015-07-16 16:12:31 -04:00
Paul Beckingham
6aaa7c5074
CLI2: Some plain args were not spotted
...
- A plain arg can be Lexer::Type::word or Lexer::Type::dom.
2015-07-16 16:07:41 -04:00
Wilhelm Schuermann
8613a49f6e
Import: Allow importing JSON arrays
...
- "export" defaults to JSON array output now. Make "import" read it
instead of throwing an error.
2015-07-16 12:37:38 +02:00
Paul Beckingham
b92802c2fb
Entities: There is no spoon^H^H^H^H^Huda entity
...
- The code was trying to canonicalize 'attribute' and 'uda' separately,
but there are no 'uda' entities.
2015-07-15 19:40:13 -04:00
Paul Beckingham
264dae02bc
TW-1592: Able to add duplicate tags using 'tags:<value>'
...
- Thanks to Tomas Babej.
2015-07-15 13:48:47 -04:00
Paul Beckingham
695185e62e
Duration: No longer accepts 123e456d as a duration
...
- Prohibits the use of [eE] in the units.
- Permits use of [+-] only in the first position.
2015-07-15 07:43:08 -04:00
Paul Beckingham
cf816be717
CLI2: Removed incorrect comment
2015-07-13 16:46:07 -04:00
Paul Beckingham
2355738c7a
Duration: May also terminate on Lexer::singleCharOperator
2015-07-13 16:45:34 -04:00
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