X-Git-Url: https://git.armaanb.net/?p=gen-shell.git;a=blobdiff_plain;f=src%2Fmain.cpp;h=d9bc1f4d2f7564af50f764267909325eccfa866f;hp=0d7a03412413b4ec790c1f64b06d8442df1d2c8d;hb=2d43a7fcd61840d1021da3b3b03d51affde3d777;hpb=cc55b39b55f9906bf5364c8f69d9c87ae928400c diff --git a/src/main.cpp b/src/main.cpp index 0d7a034..d9bc1f4 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,6 +1,9 @@ //////////////////////////////////////////////////////////////////////////////// // -// Copyright 2006 - 2017, Paul Beckingham, Federico Hernandez, 2020 Armaan Bhojwani +// gen-shell, the generic shell +// +// Copyright 2006 - 2017, Paul Beckingham, Federico Hernandez, +// 2020, Armaan Bhojwani // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -24,6 +27,7 @@ // //////////////////////////////////////////////////////////////////////////////// + #include #include #include <../Sarge/src/sarge.h> @@ -82,7 +86,7 @@ int main(int argc, char** argv) 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.setArgument("", "no-space", "Dont automatically add spaces after custom prompt and command", true); sarge.setDescription("Make a shell from any executable"); sarge.setUsage("gen-shell "); @@ -96,7 +100,7 @@ int main(int argc, char** argv) return 0; } - bool space; + bool space = true; if (sarge.exists("no-space")) { space = false; } @@ -110,11 +114,12 @@ int main(int argc, char** argv) // Define prompt string prompt = ""; sarge.getFlag("prompt", prompt); - if ( prompt == "" ) + { prompt = "% "; - if ( space ) + } else if ( space ) { prompt += " "; + } // Execute before-command string before_command; @@ -125,24 +130,20 @@ int main(int argc, char** argv) string after_command; sarge.getFlag("after", after_command); - // Main program + // Do the stuffs! while (true) { // Display prompt, get input auto command = getResponse(prompt); - if (command != "") + // Dispatch command + if (command == "" || "exit" || "quit" || ":q" ) + // if (command == "" || command == "exit" ) { - // Dispatch command - if (command == "") - { - system (after_command.c_str ()); - return 0; - } - else if (command != "") - { - string whole_command = arg_cmd + command; - system (whole_command.c_str ()); - } + system (after_command.c_str ()); + return 0; + } else { + string whole_command = arg_cmd + command; + system (whole_command.c_str ()); } } }