]> git.armaanb.net Git - gen-shell.git/commitdiff
Code cleanup, no-space
authorArmaan Bhojwani <3fb650a9-b47e-4604-a282-1dd91953b2ee@anonaddy.me>
Sat, 7 Nov 2020 17:14:28 +0000 (12:14 -0500)
committerArmaan Bhojwani <3fb650a9-b47e-4604-a282-1dd91953b2ee@anonaddy.me>
Sat, 7 Nov 2020 17:14:28 +0000 (12:14 -0500)
src/main.cpp

index a570cdd792821bfee3f38891b4a2f919c4d41f19..0d7a03412413b4ec790c1f64b06d8442df1d2c8d 100644 (file)
 
 #include <cmake.h>
 #include <iostream>
 
 #include <cmake.h>
 #include <iostream>
-#include <vector>
-#include <string>
 #include <../Sarge/src/sarge.h>
 #include <stdlib.h>
 
 #ifdef HAVE_READLINE
 #include <../Sarge/src/sarge.h>
 #include <stdlib.h>
 
 #ifdef HAVE_READLINE
-#include <readline/readline.h>
-#include <readline/history.h>
+  #include <readline/readline.h>
+  #include <readline/history.h>
 #endif
 
 ////////////////////////////////////////////////////////////////////////////////
 
 using namespace std;
 
 #endif
 
 ////////////////////////////////////////////////////////////////////////////////
 
 using namespace std;
 
-static std::vector <std::string> 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 {
     ""
 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 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 <options>");
+  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 <options>");
 
        if (!sarge.parseArguments(argc, argv)) {
                std::cerr << "Couldn't parse arguments..." << std::endl;
 
        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;
        }
 
     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);
   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 = "% ";
   string prompt = "";
   sarge.getFlag("prompt", prompt);
 
   if ( prompt == "" )
     prompt = "% ";
-  else
+  if ( space )
     prompt += " ";
 
     prompt += " ";
 
-  // execute before-command
+  // Execute before-command
   string before_command;
   sarge.getFlag("before", before_command);
   system (before_command.c_str ());
 
   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);
 
   string after_command;
   sarge.getFlag("after", after_command);