CLI2: Eliminated CLI
- This is a large commit, as all the changes are centered around the elimination of CLI. - CLI is no longer compiled. - Context no longer maintains CLI + CLI2. - Filter now walks the parse tree and sends to Eval a std::vector <std::pair <std::string, Lexer::Type>> containing only args tagged with FILTER. - Filter more efficiently sets/unsets Eval::debug, by doing it less often. - The filterExpr.length() check is no longer meaningful, and instead the size of the std::vector above is used. - Filter::pendingOnly performs better analysis. - Filter::safety makes use of the std::vector size also. - Task::modify makes use of 'canonical' rather than 'name', which is a policy change, not a fix.
This commit is contained in:
@@ -144,7 +144,7 @@ int CmdContext::defineContext (std::vector <std::string>& words, std::stringstre
|
||||
try
|
||||
{
|
||||
// This result is not used, and is just to check validity.
|
||||
context.cli.addRawFilter ("( " + value + " )");
|
||||
context.cli2.addFilter (value);
|
||||
filter.subset (pending, filtered);
|
||||
}
|
||||
catch (std::string exception)
|
||||
|
||||
Reference in New Issue
Block a user