#include <cstdio>
#include <stdlib.h>
#include <unistd.h>
-#include <shared.h>
#ifdef HAVE_READLINE
#include <readline/readline.h>
// Display prompt, get input.
auto command = getResponse (prompt);
- // Obey Taskwarrior's rc.tasksh.autoclear.
if (autoClear)
std::cout << "\033[2J\033[0;0H";
}
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;
+ if (command == "<EOF>") status = -1;
else if (command != "")
{
- command = "echo " + command + " | lolcat ";
+ command = command;
std::cout << "[" << command << "]\n";
system (command.c_str ());
-
- // Deliberately ignoreѕ taskwarrior exit status, otherwise empty filters
- // cause the shell to terminate.
}
}
{
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" ||