]> git.armaanb.net Git - gen-shell.git/blobdiff - src/prompt.cpp
added argument parsing with Sarge
[gen-shell.git] / src / prompt.cpp
index b1d40f52e44e1801c65034a18e97aabbb6c99658..493425a9a6b03854932b0f7f2b23f67a0dad0b41 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 <cmake.h>
 #include <vector>
 #include <string>
-#include <Color.h>
 
-static std::vector <std::string> contextColors = {
-  "bold white on red",
-  "bold white on blue",
-  "bold white on green",
-  "bold white on magenta",
-  "black on cyan",
-  "black on yellow",
-  "black on white",
-};
+////////////////////////////////////////////////////////////////////////////////
 
 static std::vector <std::string> contexts;
-
 std::string composeContexts (bool pretty = false);
 
-////////////////////////////////////////////////////////////////////////////////
 int promptClear ()
 {
   contexts.clear ();
   return 0;
 }
 
-////////////////////////////////////////////////////////////////////////////////
 int promptRemove ()
 {
   if (contexts.size ())
@@ -60,6 +48,7 @@ int promptRemove ()
 }
 
 ////////////////////////////////////////////////////////////////////////////////
+
 int promptAdd (const std::string& context)
 {
   contexts.push_back (context);
@@ -67,37 +56,10 @@ int promptAdd (const std::string& context)
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-std::string composeContexts (bool pretty /* = false */)
-{
-  std::string combined;
-  for (unsigned int i = 0; i < contexts.size (); i++)
-    if (pretty)
-      combined += (combined != "" ? " " : "")
-                + std::string ("\001")
-                + Color::colorize ("\002 " + contexts[i] + " \001", contextColors[i % contextColors.size ()])
-                + "\002";
-    else
-      combined += (combined != "" ? " " : "") + contexts[i];
 
-  if (combined != "")
-    combined += ' ';
-
-  return combined;
-}
-
-////////////////////////////////////////////////////////////////////////////////
 std::string promptCompose ()
 {
-  // TODO The prompt may be composed of different elements:
-  // TODO - The configurable text
-  // TODO - The accumulated context, as colored tokens.
-  // TODO - sync status
-  // TODO - time
-  auto decoration = composeContexts (true);
-  if (decoration.length ())
-    return "task " + decoration + "> ";
-
-  return "tasksh> ";
+  return "% ";
 }
 
 ////////////////////////////////////////////////////////////////////////////////