From cb577cfdf52dcb2a11677f6d3ec9369f6a6724a8 Mon Sep 17 00:00:00 2001 From: lucaspalomodevelop Date: Sun, 19 Nov 2023 13:33:34 +0100 Subject: [PATCH] add config show command --- src/main.cpp | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ src/main.h | 2 ++ src/settings.cpp | 31 +++++++++++++++++++++++++++++- src/settings.h | 1 + 4 files changed, 82 insertions(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 83fe2ea..d66bb81 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -31,6 +31,7 @@ void input(int argc, char *argv[]) command.addCommandAlias("remove", "r"); command.addCommand("show", "[script] - Shows a script", showScript); command.addCommandAlias("show", "s"); + command.addCommand("config", " - Configures autom", config); command.addDefaultCommand(runScript); command.runCommand(argv[1], argc, argv); @@ -107,6 +108,54 @@ void runScript(int argc, char *argv[]) // } } +void config(int argc, char *argv[]) +{ + + if (argc < 1) + { + std::cout << "Usage: autom config " << std::endl; + return; + } + + if (std::string(argv[1]) == "show") + { + std::cout << "Settings:" << std::endl; + std::cout << settings.getSettingsAsString() << std::endl; + } + + // if (argv[2] == "editor") + // { + // std::cout << "Enter editor: "; + // std::string editor; + // std::cin >> editor; + // settings.value["editor"] = editor; + // settings.save(); + // return; + // } + + // if (argv[2] == "search_dirs") + // { + // std::cout << "Enter search dirs: "; + // std::string search_dirs; + // std::cin >> search_dirs; + // settings.value["search_dirs"] = search_dirs; + // settings.save(); + // return; + // } + + // if (argv[2] == "scripts") + // { + // std::cout << "Enter scripts: "; + // std::string scripts; + // std::cin >> scripts; + // settings.value["scripts"] = scripts; + // settings.save(); + // return; + // } + + // std::cout << "Command " << argv[2] << " does not exist" << std::endl; +} + void showScript(int argc, char *argv[]) { diff --git a/src/main.h b/src/main.h index eba237c..f4aa53e 100644 --- a/src/main.h +++ b/src/main.h @@ -22,6 +22,8 @@ Command command; void input(int argc, char *argv[]); // run a script with is in the autom directory void runScript(int argc, char *argv[]); +// config function for configuring autom +void config(int argc, char *argv[]); // list all scripts in the autom directory void listScripts(int argc, char *argv[]); // add a script in the autom directory diff --git a/src/settings.cpp b/src/settings.cpp index 83e8113..301dee1 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -24,4 +24,33 @@ void Settings::readSettings() readSettings(); } this->value = json::parse(file); -} \ No newline at end of file +} + +std::string Settings::getSettingsAsString() +{ + return this->value.dump(4); +} + +// void Settings::writeSettings() +// { +// std::ofstream file(setup.home + "/.automconfig.json"); +// file << this->value.dump(4); +// file.close(); +// } + +// void Settings::set(std::string key, std::string value) +// { +// this->value[key] = value; +// writeSettings(); +// } + +// std::string Settings::get(std::string key) +// { +// return this->value[key]; +// } + +// void Settings::set(std::string key, int value) +// { +// this->value[key] = value; +// writeSettings(); +// } diff --git a/src/settings.h b/src/settings.h index d78ebb5..8f398e7 100644 --- a/src/settings.h +++ b/src/settings.h @@ -29,6 +29,7 @@ public: Settings(void); ~Settings(void); void readSettings(); + std::string getSettingsAsString(); Settings &operator=(const Settings &) = default; };