Paul Beckingham
f5792a03fb
Lexer: Captures minimumMatchLength for abbreviated attribute matching
2015-07-26 22:58:02 -04:00
Paul Beckingham
4646a86d4d
Lexer: Added missing rc.<name> DOM parsing
2015-07-26 16:18:58 -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
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
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
4f0e32b69b
Lexer: Improved ::decomposePattern to extract raw string
2015-07-25 00:34:18 -04:00
Paul Beckingham
d6f977e2dd
Lexer: Boosted precedence of UUID detection
2015-07-19 23:27:27 -04:00
Paul Beckingham
fed3b815a0
Lexer: Dead code removal
2015-07-17 14:59:42 -04:00
Paul Beckingham
76d3efe313
Lexer: Improved termination for UUID types
2015-07-16 16:15:07 -04:00
Paul Beckingham
1ec029be9b
Lexer: Relocated instantiation closer to first use
2015-07-13 16:44:55 -04:00
Paul Beckingham
d0e4f4ca10
Lexer: Implemented ::decomposePattern
2015-07-11 17:09:29 -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
642f378462
Lexer:: Implemented ::isHardBoundary to detect filter tokens
2015-07-11 13:12:09 -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
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
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
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
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
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
f33da18789
Lexer: Removed ::isList and Lexer::Type::list - not needed
2015-07-01 18:04:21 -04:00
Paul Beckingham
b090c6bccf
Lexer: Removed unnecessary ::ambiguity method
2015-07-01 16:18:28 -04:00
Paul Beckingham
86ed232348
Lexer: Added ::wasQuoted to determine original quote state
2015-06-28 12:35:06 -04:00
Paul Beckingham
de93c63535
Lexer: Not longer considers ( ) part of a contiguous token
2015-06-24 12:47:24 -04:00
Paul Beckingham
d9bcbdee0a
Lexer: Added ::isContiguous for word-like matching
2015-06-22 21:34:57 -04:00
Paul Beckingham
fd35190ab0
Lexer: Fixed bug that caused 'name=value' to not be a Lexer::Type::pair
2015-06-22 11:55:19 -04:00
Paul Beckingham
f4a7c50f1a
Lexer: Added ::isSet to recognize numerical sets
...
- A numerical set is a list of numbers: 1,2,3
Or a range of numbers: 5-10
Or a combination of both: 1,2,3,5-10
2015-06-19 18:28:58 -07:00
Paul Beckingham
7293de75b0
TW-1608: The recur/recurring report shows tasks without a recur interval
...
- Lexer needed additional lookbehind criteria for ::isTag (thanks to Brad
Collette).
2015-05-09 21:27:48 -04:00
Paul Beckingham
36e31811b0
TW-1606: scheduled.any filter
...
- The Lexer::dom type worked embedded, but not isolated (thanks to Peter Rochen).
2015-04-29 18:53:13 -04:00
Paul Beckingham
39fb45447b
Lexer: Migrated ispunct to Lexer::isPunctuation
2015-04-16 23:52:43 -04:00
Paul Beckingham
c6dbdf87a4
Lexer: Migrated isalpha to Lexer::isAlpha
2015-04-16 23:24:17 -04:00
Wilhelm Schuermann
2eea7805c6
Lexer: Fix "task calc now+3days" error
...
- Fix isDuration() consuming operators, leading to evaluation errors.
Previously only "task calc now + 3days" worked, now the spaces are
entirely optional.
2015-04-02 13:29:57 +02:00
Paul Beckingham
96c448ca1e
Lexer: Corrected off-by-one error in ::isTripleCharOperator
2015-03-29 23:07:18 -04:00
Paul Beckingham
5af3f71ac5
Lexer: Fixed /from/to/g detection at EOS
2015-03-29 22:56:34 -04:00
Paul Beckingham
8b863c9764
Lexer: Fixed /pattern/ detection at EOS
2015-03-29 22:53:38 -04:00