From cc55b39b55f9906bf5364c8f69d9c87ae928400c Mon Sep 17 00:00:00 2001 From: Armaan Bhojwani <3fb650a9-b47e-4604-a282-1dd91953b2ee@anonaddy.me> Date: Sat, 7 Nov 2020 12:14:28 -0500 Subject: [PATCH] Code cleanup, no-space --- src/main.cpp | 62 ++++++++++++++++++---------------------------------- 1 file changed, 21 insertions(+), 41 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index a570cdd..0d7a034 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -26,45 +26,18 @@ #include #include -#include -#include #include <../Sarge/src/sarge.h> #include #ifdef HAVE_READLINE -#include -#include + #include + #include #endif //////////////////////////////////////////////////////////////////////////////// using namespace std; -static std::vector contexts; -std::string composeContexts (bool pretty = false); - -int promptClear () -{ - contexts.clear (); - return 0; -} - -int promptRemove () -{ - if (contexts.size ()) - contexts.pop_back (); - - return 0; -} - -int promptAdd (const std::string& context) -{ - contexts.push_back (context); - return 0; -} - -//////////////////////////////////////////////////////////////////////////////// - const std::string getResponse(const std::string & prompt) { std::string response { "" @@ -105,12 +78,13 @@ int main(int argc, char** argv) Sarge sarge; sarge.setArgument("a", "after", "Command to execute before leaving the shell", true); - sarge.setArgument("b", "before", "Command to execute before entering the shell", true); - sarge.setArgument("c", "command", "Command to convert to shell", true); - sarge.setArgument("h", "help", "Get help.", false); - sarge.setArgument("p", "prompt", "Define a custom prompt", true); - sarge.setDescription("Make a shell from any executable"); - sarge.setUsage("gen-shell "); + sarge.setArgument("b", "before", "Command to execute before entering the shell", true); + sarge.setArgument("c", "command", "Command to convert to shell", true); + sarge.setArgument("h", "help", "Get help.", false); + sarge.setArgument("p", "prompt", "Define a custom prompt", true); + sarge.setArgument("", "no-space", "Dont automatically add spaces after custom prompt and command", false); + sarge.setDescription("Make a shell from any executable"); + sarge.setUsage("gen-shell "); if (!sarge.parseArguments(argc, argv)) { std::cerr << "Couldn't parse arguments..." << std::endl; @@ -122,26 +96,32 @@ int main(int argc, char** argv) return 0; } - // define input command + bool space; + if (sarge.exists("no-space")) { + space = false; + } + + // Define input command string arg_cmd; sarge.getFlag("command", arg_cmd); - arg_cmd += " "; + if ( space ) + arg_cmd += " "; - // define prompt + // Define prompt string prompt = ""; sarge.getFlag("prompt", prompt); if ( prompt == "" ) prompt = "% "; - else + if ( space ) prompt += " "; - // execute before-command + // Execute before-command string before_command; sarge.getFlag("before", before_command); system (before_command.c_str ()); - // execute after-command + // Execute after-command string after_command; sarge.getFlag("after", after_command); -- 2.39.2