implement tclap into cellar config (behavior remains mostly unchanged)
This commit is contained in:
		@@ -68,7 +68,7 @@ int main(int argc, char* argv[]) {
 | 
				
			|||||||
        cmdparse.parse(argc, argv);
 | 
					        cmdparse.parse(argc, argv);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        dryrun = dryrunarg.getValue();
 | 
					        dryrun = dryrunarg.getValue();
 | 
				
			||||||
        verbose = verbosearg.getValue();
 | 
					        verbose = dryrun || verbosearg.getValue();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // BULLSHIT: trying to use str.format on this string causes bizarre compiler errors
 | 
					        // BULLSHIT: trying to use str.format on this string causes bizarre compiler errors
 | 
				
			||||||
        /*[[[cog
 | 
					        /*[[[cog
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,13 @@
 | 
				
			|||||||
#include <string>
 | 
					#include <string>
 | 
				
			||||||
#include <vector>
 | 
					#include <vector>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "tclap/CmdLine.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "bottles.hpp"
 | 
					#include "bottles.hpp"
 | 
				
			||||||
#include "cellar.hpp"
 | 
					#include "cellar.hpp"
 | 
				
			||||||
#include "internal/config.hpp"
 | 
					#include "internal/config.hpp"
 | 
				
			||||||
#include "output.hpp"
 | 
					#include "output.hpp"
 | 
				
			||||||
 | 
					#include "version.hpp"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
using namespace std;
 | 
					using namespace std;
 | 
				
			||||||
using namespace cellar;
 | 
					using namespace cellar;
 | 
				
			||||||
@@ -13,11 +16,28 @@ using namespace cellar::bottles;
 | 
				
			|||||||
using json = nlohmann::json;
 | 
					using json = nlohmann::json;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void cellar::config::config_command(int argc, vector<string> argv) {
 | 
					void cellar::config::config_command(int argc, vector<string> argv) {
 | 
				
			||||||
    if (argc == 1) {
 | 
					    const string desc = "Change cellar configuration options";
 | 
				
			||||||
        output::error("not enough arguments");
 | 
					    const string versionstr = version::short_version();
 | 
				
			||||||
        return;
 | 
					    TCLAP::CmdLine cmdparse(desc, ' ', versionstr, false);
 | 
				
			||||||
    }
 | 
					
 | 
				
			||||||
    string command = argv[1];
 | 
					    TCLAP::SwitchArg globalarg("g", "global", "Use global user configuration (~/.local/share/cellar/cellar.json)");
 | 
				
			||||||
 | 
					    cmdparse.add(globalarg);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    TCLAP::UnlabeledValueArg<string> commandarg("command", "", true, "get", "command");
 | 
				
			||||||
 | 
					    cmdparse.add(commandarg);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    TCLAP::UnlabeledValueArg<string> keyarg("key", "", true, "", "key");
 | 
				
			||||||
 | 
					    cmdparse.add(keyarg);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    TCLAP::UnlabeledValueArg<string> valarg("value", "", false, "", "value");
 | 
				
			||||||
 | 
					    cmdparse.add(valarg);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    cmdparse.parse(argv);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    bool global = globalarg.getValue();
 | 
				
			||||||
 | 
					    string command = commandarg.getValue();
 | 
				
			||||||
 | 
					    string key = keyarg.getValue();
 | 
				
			||||||
 | 
					    string value = valarg.getValue();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // BULLSHIT: switch can't be used for strings, according to gcc
 | 
					    // BULLSHIT: switch can't be used for strings, according to gcc
 | 
				
			||||||
    if (command == "get") {
 | 
					    if (command == "get") {
 | 
				
			||||||
@@ -26,9 +46,6 @@ void cellar::config::config_command(int argc, vector<string> argv) {
 | 
				
			|||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        string key = argv[2];
 | 
					 | 
				
			||||||
        string value = active_bottle.get_config(key);
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        if (value != "") {
 | 
					        if (value != "") {
 | 
				
			||||||
            output::statement(key + ": " + value);
 | 
					            output::statement(key + ": " + value);
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user