Commit graph

233 commits

Author SHA1 Message Date
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
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
a7982e434a CLI2: Quoted Lexer::Type::pair args are maximal 2015-07-04 15:33:44 -04: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
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
b090c6bccf Lexer: Removed unnecessary ::ambiguity method 2015-07-01 16:18:28 -04:00
Paul Beckingham
ba65fa67b1 CLI2: ::aliasExpansion now properly observes and propagates TERMINATED args 2015-06-28 00:33:17 -04:00
Paul Beckingham
8cc75693a0 CLI2: Some args must avoid lexing
- This now include rc:xxx and rc.xxx.
2015-06-27 23:34:03 -04:00
Paul Beckingham
1824a542f6 CLI2: Obey the terminator and skip Lexing 2015-06-27 17:35:15 -04:00
Paul Beckingham
b67b2ccc96 CLI2: Added ::addContextFilter, and supporting processing 2015-06-27 15:53:24 -04:00
Paul Beckingham
88b1707b58 CLI2: Commented out implementation of ::desugarFilterPlainArgs
- The algorithm is wrong, and it misidentfies solitary search patterns.
2015-06-24 21:29:56 -04:00
Paul Beckingham
9dcd52fc5b CLI2: Inhibit the identification of IDs if preceeded by an operator 2015-06-24 20:59:27 -04:00
Paul Beckingham
183550a190 CLI2: Unrecognized Lexer::Type::pair args are now downgraded to Lexer::Type::word 2015-06-24 13:06:20 -04:00
Paul Beckingham
449d577cca CLI2: Moved all the ::desugar* methods after the single-arg manipulations 2015-06-22 21:21:26 -04:00
Paul Beckingham
1cf07cd6fb CLI2: Fixed bug in UUID filtering
- When filtering by UUID, the expression listed the 'uuid' attribute as a type
  Lexer::Type::string, which should have been Lexer::Type::dom.
2015-06-22 16:20:22 -04:00
Paul Beckingham
4b68fea674 CLI2: Fixed bug in ::findCommand
- If an argument is an exact match for a command ('projects'), it is a command.
- If an argument is not an exact match for command ('project'), but is an exact
  match for an attribute, it is not a command.
- If an argument fails the above tests, but canonicalizes to a command, it is a
  command.
2015-06-22 16:01:01 -04:00
Paul Beckingham
a541156cec CLI2: Added support for write commands specifїgin ID/UUID *after* CMD 2015-06-22 14:48:17 -04:00
Paul Beckingham
3d19bffd55 CLI2: Raised the precedence of ::desugarPlainArgs 2015-06-22 14:12:05 -04:00
Paul Beckingham
076b2aaa95 CLI2: Fix bug where a second terminator (--) was stripped 2015-06-22 14:11:28 -04:00
Paul Beckingham
02b91a94fc CLI2: Fixed bug recognizing command names
- If a command is found via canonicalization, but that command is also an exact
  match for an attribute, then it is not a command.
2015-06-22 11:55:55 -04:00
Paul Beckingham
b573a0ddcc CLI2: Added missing ::analyze call after ::add for ::addFilter 2015-06-22 11:34:02 -04:00
Paul Beckingham
fcc1bb3ef2 CLI2: Fixed bug where ::desugarFilterAttributes set 'name' instead of 'canonical' 2015-06-22 11:09:49 -04:00
Paul Beckingham
633d07f75b CLI2: Added disqualifier list to ::addContextFilter stub 2015-06-22 10:46:42 -04:00
Paul Beckingham
82c5d019a3 CLI2: Added ::addFilter method 2015-06-22 10:30:29 -04:00
Paul Beckingham
c8fd51bd27 CLI2: Removed unused tag MODIFIABLE 2015-06-22 10:20:24 -04:00
Paul Beckingham
0cfa873776 CLI2: Fixed bug where a reference was being copied over 2015-06-22 10:19:47 -04:00
Paul Beckingham
30ad00fb7f CLI2: Removed unused default constructor A::A 2015-06-22 10:18:43 -04:00
Paul Beckingham
7432c0aead CLI2: Added ::getToken method for obtaining the canonical form, if possible 2015-06-22 00:35:35 -04:00
Paul Beckingham
ad18d13c29 CLI2: Removed unnecessary CLI2::dump call 2015-06-21 23:47:34 -04:00
Paul Beckingham
54b2227729 CLI2: Removed unused ::decomposeModAttributeModifiers method 2015-06-21 23:47:05 -04:00
Paul Beckingham
82acbb28e3 CLI2: Added ::decomposeModAttributes 2015-06-21 23:43:02 -04:00
Paul Beckingham
c369f37509 CLI2: Removed unused A::unTagAll method 2015-06-21 23:06:06 -04:00
Paul Beckingham
77b97d658a CLI2: Added ::getLimit method 2015-06-21 21:19:19 -04:00
Paul Beckingham
867910f7de CLI2: Remove unused ::disqualifyOnlyParenOps method 2015-06-21 21:15:05 -04:00
Paul Beckingham
5c44929acb CLI2: Removed unused ::disqualifyNoOps method 2015-06-21 21:13:08 -04:00
Paul Beckingham
d9b15cec2e CLI2: Removed unused ::disqualifyInsufficientTerms method 2015-06-21 21:12:19 -04:00
Paul Beckingham
c1f4cc3554 CLI2: Added ::decomposeModSubstitutions 2015-06-21 21:08:42 -04:00
Paul Beckingham
b4b15c7f45 CLI2: Added polymorphic ::attribute 2015-06-21 21:08:11 -04:00
Paul Beckingham
7c604cdb8f CLI2: Fixed bug where MODIFICATION tags were expanded as a filter 2015-06-21 20:44:09 -04:00
Paul Beckingham
15e9c91d85 CLI2: Added ::decomposeModTags 2015-06-21 20:43:42 -04:00
Paul Beckingham
706ca72a75 CLI2: Added ::insertJunctions 2015-06-21 20:15:05 -04:00
Paul Beckingham
8085b15b50 CLI2: Added special case handling for '<name>:<value>', using operator '='
- By adding the special case, the desugarFilterAttributes and
  desugarFilterAttributeModifiers methods can be merged.
2015-06-21 15:57:21 -04:00
Paul Beckingham
e504149a43 CLI2: Removed unused ::desugarFilterAttributeModifiers method 2015-06-21 15:55:44 -04:00
Paul Beckingham
9b23eb2d23 CLI2: Bug parsing attribute modfiiers
- Consider 'project.is:home' and 'project:home.garden'. The colon ':' and the
  dot '.' switch places and change the meaning. This was not caught by the paser.
- Removed commented call that is now merged.
2015-06-21 15:49:17 -04:00
Paul Beckingham
fe9891f2f9 CLI2: Added ::desugarFilterAttributes 2015-06-21 15:43:52 -04:00
Paul Beckingham
23e3180d7b CLI2: Moved ::desugarFilterPlainArgs higher in precedence
- Because of hte relaxed conditions in hte ::desugarFilterPlainArgs method,
  this was causing problems evaluating attribute modifiers.
2015-06-21 15:41:13 -04:00