]> git.armaanb.net Git - gen-shell.git/blobdiff - src/main.cpp
finally removed all hints of tasksh
[gen-shell.git] / src / main.cpp
index afba7277ec511044acd58b0b19a9f0e3209dbd68..fa4bad3cc07418bc11af7ac30c746acdab166af3 100644 (file)
@@ -1,6 +1,6 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-// Copyright 2006 - 2017, Paul Beckingham, Federico Hernandez.
+// 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
 #include <cstdio>
 #include <stdlib.h>
 #include <unistd.h>
-#include <shared.h>
 
 #ifdef HAVE_READLINE
 #include <readline/readline.h>
 #include <readline/history.h>
 #endif
 
-// TODO These conflict with tw commands. This needs to be resolved.
-//      Perhaps an escape, such as '-- help' could invoke local help, or using
-//      a 'task' prefix could disambiguate.
-
-// tasksh commands.
-int cmdHelp ();
-int cmdDiagnostics ();
-int cmdReview (const std::vector <std::string>&, bool);
-int cmdShell (const std::vector <std::string>&);
 std::string promptCompose ();
-std::string findTaskwarrior ();
-
-////////////////////////////////////////////////////////////////////////////////
-static void welcome ()
-{
-  std::cout << PACKAGE_STRING << "\n";
-  cmdHelp ();
-}
 
-////////////////////////////////////////////////////////////////////////////////
 const std::string getResponse (const std::string& prompt)
 {
   std::string response {""};
@@ -102,7 +83,6 @@ static int commandLoop (bool autoClear)
   // Display prompt, get input.
   auto command = getResponse (prompt);
 
-  // Obey Taskwarrior's rc.tasksh.autoclear.
   if (autoClear)
     std::cout << "\033[2J\033[0;0H";
 
@@ -113,25 +93,13 @@ static int commandLoop (bool autoClear)
   }
   else if (command != "")
   {
-    auto args = split (command, ' ');
-
     // Dispatch command.
-         if (args[0] == "<EOF>")                      status = -1;
-    else if (closeEnough ("exit",        args[0], 3)) status = -1;
-    else if (closeEnough ("quit",        args[0], 3)) status = -1;
-    else if (closeEnough ("help",        args[0], 3)) status = cmdHelp ();
-    else if (closeEnough ("diagnostics", args[0], 3)) status = cmdDiagnostics ();
-    else if (closeEnough ("review",      args[0], 3)) status = cmdReview (args, autoClear);
-    else if (closeEnough ("exec",        args[0], 3) ||
-             args[0][0] == '!')                       status = cmdShell (args);
+    if (command == "<EOF>")                      status = -1;
     else if (command != "")
     {
-      command = "task " + command;
+      command = command;
       std::cout << "[" << command << "]\n";
       system (command.c_str ());
-
-      // Deliberately ignoreŃ• taskwarrior exit status, otherwise empty filters
-      // cause the shell to terminate.
     }
   }
 
@@ -152,21 +120,15 @@ int main (int argc, const char** argv)
   {
     try
     {
-      // Get the Taskwarrior rc.tasksh.autoclear Boolean setting.
       bool autoClear = false;
       std::string input;
       std::string output;
-      execute ("task", {"_get", "rc.tasksh.autoclear"}, input, output);
-      output = lowerCase (output);
       autoClear = (output == "true\n" ||
                    output == "1\n"    ||
                    output == "y\n"    ||
                    output == "yes\n"  ||
                    output == "on\n");
 
-      if (isatty (fileno (stdin)))
-        welcome ();
-
       while ((status = commandLoop (autoClear)) == 0)
         ;
     }