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
Paul Beckingham
f5ece63ec0
CLI2: Removed obsolete ::decomposeModAttributes
2015-07-05 16:29:54 -04:00
Paul Beckingham
460f2aeea5
CLI2: Refactoring
...
- Whenever A2::attribute sees 'raw' being set, it automaticall decomposes the
arg, which can now be removed from other methods.
- New ::canonicalizeNames method means that the ::decomposeMod* methods are no
longer needed.
- Removed ::findOverrides which now does nothing.
2015-07-05 16:13:56 -04:00
Paul Beckingham
0df1c48f42
ISO8601: Added range checking for various date elements
2015-07-05 15:29:41 -04:00
Paul Beckingham
0c568580b3
CLI2: Removed obsolete ::isUUIDList
...
- Removed unsupported UUID lists, which shoudl have been removed earlier when
Lexer::Type::list was dropped.
- Reversed logic in 'if' statements to perform the lowest cost comparison first.
2015-07-05 10:39:34 -04:00
Paul Beckingham
184fde0f5f
CLI2: Skips first terminator, --, but not others
2015-07-04 16:39:15 -04:00
Paul Beckingham
b0c8f4ca4f
ISO8601: Restored support for the UTC & local non-extended full form
2015-07-04 16:04:03 -04:00
Paul Beckingham
a7982e434a
CLI2: Quoted Lexer::Type::pair args are maximal
2015-07-04 15:33:44 -04:00
Paul Beckingham
1836ac29e2
Lexer: Removed expermental code, didn't help
2015-07-04 15:03:28 -04:00
Paul Beckingham
3b99559216
Lexer: Added standalone token support
...
- Added default ctor.
- Added ::token method for classifying whole tokens.
- Stubbed token classifier methods.
2015-07-04 11:38:09 -04:00