Paul Beckingham
3636de11c8
CLI2: Removed obsolete ::analyze method
2015-06-19 12:33:06 -07:00
Paul Beckingham
c696a1748a
CLI2: Implemented FILTER/MODIFICATION categorization
2015-06-19 10:18:41 -07:00
Paul Beckingham
6c0ba77204
CLI2: Added ::prepareFilter for the deferred parsing of filters
2015-06-19 10:15:01 -07:00
Paul Beckingham
12825c5205
CLI2: Added ::getWords and ::getCommand variations
...
- ::getWords (false) now returns an unfiltered list of command line args,
specifically any rc.<name>:<value> or rc:<file> args are left uninterpreted.
- ::getCommand (false) now returns the raw command, not the canonical command.
2015-06-17 04:14:37 -04:00
Paul Beckingham
40d019c249
CLI2: ::defaultCommand now expands both _args and _original_args
2015-06-16 21:39:51 -04:00
Paul Beckingham
9ea2702696
CLI2: ::aliasExpansion now expands in both _args and _original_args
2015-06-16 21:39:16 -04:00
Paul Beckingham
bb283de1dd
CLI2: Modified ::getWords to ignore either raw or canonicalized command
2015-06-16 21:17:19 -04:00
Paul Beckingham
ba63472068
CLI2: Added ::getCommandRaw
...
- Used when the canonicalized form is not wanted - just the raw.
2015-06-16 21:15:34 -04:00
Paul Beckingham
687e7c5e70
CLI2: Added ::getWords, done properly
2015-06-14 23:16:00 -04:00
Paul Beckingham
a6c99f3ba5
CLI2: Added ::getCommand
2015-06-14 20:54:01 -04:00
Paul Beckingham
323674b08d
CLI2: Added ::getBinary
2015-06-14 20:45:06 -04:00
Paul Beckingham
f59724297f
CLI2: Added ::defaultCommand
2015-06-14 17:49:16 -04:00
Paul Beckingham
81844753fd
CLI2: Removed unused include
2015-06-14 17:48:41 -04:00
Paul Beckingham
778bd4ae2f
CLI2: Simplified A2::dump by removing useless node name
2015-06-14 17:47:53 -04:00
Paul Beckingham
68ac07080c
CLI2: ::findCommand now return a bool indicating what happened.
2015-06-14 17:45:18 -04:00
Paul Beckingham
9af18183c9
CLI2: Eliminate useless ::disqualifySugarFree
2015-06-14 16:46:38 -04:00
Paul Beckingham
0aff903024
CLI2: Simplified all parsing by removing terminator considerations
2015-06-14 16:39:03 -04:00
Paul Beckingham
2cab600674
CLI2: Added ::handleTerminator
...
- CLI2::handleTerminator removes all terminator arguments it finds
and downgrades all subsequent arguments to Lexer::Type::word. This
simplifies all further processing.
2015-06-14 16:33:34 -04:00
Paul Beckingham
370df8e07f
CLI2: Added A::A default ctor
2015-06-14 16:32:44 -04:00
Paul Beckingham
d1e7537e76
CLI2: Simplified ::findCommand
2015-06-14 15:38:27 -04:00
Paul Beckingham
cacc427cbd
CLI2: ADded ::findCommand.
2015-06-14 15:29:40 -04:00
Paul Beckingham
9d5a10bd89
CLI2: Added ::lexArguments to perform *all* lexing
2015-06-14 15:27:05 -04:00
Paul Beckingham
ab367145c6
CLI2: Added ::exactMatch.
2015-06-14 15:11:21 -04:00
Paul Beckingham
ad69f84794
CLI2: Added ::canonicalize
2015-06-14 15:05:03 -04:00
Paul Beckingham
addcbe15d5
CLI2: Removed unnecessary TW and CALENDAR tags
2015-06-14 14:21:55 -04:00
Paul Beckingham
c305768ed8
CLI2: Now relies on Lexer::Type::separator, rather than literal "--".
2015-06-14 14:14:27 -04:00
Paul Beckingham
078e9fe751
CLI2: Tagging the binary as 'ORIGINAL' is no longer useful
2015-06-14 14:13:51 -04:00
Paul Beckingham
e701d6d607
CLI2: Eliminated unused ::removeAttribute.
2015-06-14 14:13:02 -04:00
Paul Beckingham
d43ca96056
CLI2: aliasExpansion & argv[0] handling
...
- Added ::handleArg0 method to clean up ::analyze.
- Implemented ::aliasExpansion, which now applies to lexemes, not full command
line arguments.
2015-06-14 09:28:20 -04:00
Paul Beckingham
de23fc3972
CLI2: Removed obsolete methods.
2015-06-14 09:13:39 -04:00
Paul Beckingham
1d4a532ea2
CLI2: Implemented ::findOverrides relying on Lexer::Type
2015-06-13 16:51:14 -04:00
Paul Beckingham
a433ca308a
CLI2: Implemented A2::attribute for reading arg atts
2015-06-13 16:50:34 -04:00
Paul Beckingham
e159c838ad
CLI2: All args lexed
...
- All arguments now lexed.
- A2::dump now includes Lexer::Type.
2015-06-13 16:36:26 -04:00
Paul Beckingham
92a9ce732c
CLI2: Special handling of argv[0], and subsequent args
2015-06-13 16:34:24 -04:00
Paul Beckingham
7060c82767
CLI2: The ::analyze framework is in place
...
- Now the CLI2::analyze framework is in place, the new implementation of arg
analysis can be built. This algorithm first stores added arguments as-is, then
processes them into lexemes, relying on Lexer::Type. Any new arguments added
invalidate prior analysis.
2015-06-13 15:16:43 -04:00
Paul Beckingham
59429e9af8
CLI2: Implemented A2::tag/hasTag
2015-06-13 15:09:20 -04:00
Paul Beckingham
657d5b8310
CLI2: Added CLI2::dump and A2::dump methods.
2015-06-13 15:01:20 -04:00
Paul Beckingham
50cd2968b9
CLI2: A2 now stores Lexer::Type.
2015-06-13 14:45:19 -04:00
Paul Beckingham
485899b0c5
CLI2: Begun ::analyze method
...
- Renamed A to A2, to avoid collisions for now.
- Added A2::attribute, ctor, dtor.
- Stubbbed CLI2::analyze.
2015-06-13 14:34:25 -04:00
Paul Beckingham
23786515f9
CLI2: Implemented simple argument capture, with no processing.
2015-06-13 14:13:19 -04:00
Paul Beckingham
ec5876d56b
CLI2: Aliases captured.
...
- CLI2::alias now captures all alias definitions from Context::Config.
2015-06-13 14:02:18 -04:00
Paul Beckingham
22765a70cb
CLI2: Entity capture.
...
- CLI2::entity now captures all the known entities, duplicating the processing
in Context for now.
2015-06-13 13:57:53 -04:00
Paul Beckingham
96493db047
CLI2: Ctor/dtors enabled.
2015-06-13 13:53:35 -04:00
Paul Beckingham
ca90893216
CLI2: Static initialization of global settings.
2015-06-13 13:38:19 -04:00
Paul Beckingham
708ddd3804
CLI2: Refactoring CLI to rely completely on the Lexer
2015-06-13 13:35:34 -04:00