Commit graph

45 commits

Author SHA1 Message Date
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