commands now actually receive subarguments
This commit is contained in:
		@@ -32,9 +32,13 @@ int main(int argc, char* argv[]) {
 | 
			
		||||
        const string desc = "bottle management tool for WINE connoisseurs";
 | 
			
		||||
        const string versionstr = version::short_version();
 | 
			
		||||
        TCLAP::CmdLine cmdparse(desc, ' ', versionstr, false);
 | 
			
		||||
        
 | 
			
		||||
        TCLAP::UnlabeledValueArg<string> command("command", "Specific command to run.", true, "help", "command");
 | 
			
		||||
        cmdparse.add(command);
 | 
			
		||||
 | 
			
		||||
        TCLAP::UnlabeledMultiArg<string> subargs("subargs", "Sub-arguments", false, "", "subarg");
 | 
			
		||||
        cmdparse.add(subargs);
 | 
			
		||||
 | 
			
		||||
        cmdparse.parse(argc, argv);
 | 
			
		||||
 | 
			
		||||
        for (auto item : commands::bottles_commands()) {
 | 
			
		||||
@@ -43,9 +47,8 @@ int main(int argc, char* argv[]) {
 | 
			
		||||
 | 
			
		||||
        string usercmd = command.getValue();
 | 
			
		||||
        if (commands::command_map.count(usercmd) > 0) {
 | 
			
		||||
            int subargc = 0;
 | 
			
		||||
            vector<string> subargv;
 | 
			
		||||
            commands::command_map[usercmd](subargc, subargv);
 | 
			
		||||
            vector<string> subargv = subargs.getValue();
 | 
			
		||||
            commands::command_map[usercmd](subargv.size(), subargv);
 | 
			
		||||
        } else {
 | 
			
		||||
            cerr << "invalid command: " << usercmd << endl;
 | 
			
		||||
            return 1;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user