Commit graph

4530 commits

Author SHA1 Message Date
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
Paul Beckingham
4141215d4b Lexer: Clarified ::isTag lookbehind rules 2015-07-04 10:48:44 -04:00
Paul Beckingham
ad17ad82dd Lexer: Removed obsolete method def 2015-07-04 10:34:16 -04:00
Wilhelm Schuermann
c1a0370daa Config: Make json.array default to "on"
- This makes the default "export" output work out of the box with most
  JSON parsing libraries.
2015-07-03 23:42:18 +02:00
Paul Beckingham
796a26cad8 CLI2: Simplified ::lexArguments
- ::lexArguments no longer lexes arguments into multiple tokens, instead it
  simply assigns the type, if the argument is a single token.
2015-07-01 21:49:31 -04:00
Paul Beckingham
bce24da6a5 CLI2: Eliminated unnecessary ::findTerminator 2015-07-01 21:47:19 -04:00
Paul Beckingham
f33da18789 Lexer: Removed ::isList and Lexer::Type::list - not needed 2015-07-01 18:04:21 -04:00
Paul Beckingham
a2874f7f10 CLI2: Added more logic to ::lexArguments 2015-07-01 18:03:43 -04:00
Paul Beckingham
1b83734392 CLI2: Added ::demoteDOM to demote unrecognized DOM args to words 2015-07-01 18:02:48 -04:00
Paul Beckingham
2402ec8d6e ISO8601: Removed the need for ::ambiguity 2015-07-01 17:59:27 -04:00
Paul Beckingham
6276241ef0 Eval: Removed ::ambiguity 2015-07-01 17:54:36 -04:00
Paul Beckingham
987fab388d CmdCalc: Removed Eval::disambiguity 2015-07-01 17:53:44 -04:00
Paul Beckingham
f0d27dcaac Filter: Removed Eval::disambiguity 2015-07-01 17:53:09 -04:00
Paul Beckingham
a0fbde294a calc: Removed Eval::disambiguity. 2015-07-01 17:52:51 -04:00
Paul Beckingham
b7519bb550 Task: Removed Eval::ambiguity. 2015-07-01 17:52:34 -04:00
Paul Beckingham
b090c6bccf Lexer: Removed unnecessary ::ambiguity method 2015-07-01 16:18:28 -04:00