-////////////////////////////////////////////////////////////////////////////////
-static int commandLoop (bool autoClear)
-{
- // Compose the prompt.
- auto prompt = promptCompose ();
-
- // Display prompt, get input.
- auto command = getResponse (prompt);
-
- // Obey Taskwarrior's rc.tasksh.autoclear.
- if (autoClear)
- std::cout << "\033[2J\033[0;0H";
-
- int status = 0;
- if (! isatty (fileno (stdin)) && command == "")
- {
- status = -1;
- }
- 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 (command != "")
- {
- command = "echo " + command + " | lolcat ";
- std::cout << "[" << command << "]\n";
- system (command.c_str ());
-
- // Deliberately ignoreѕ taskwarrior exit status, otherwise empty filters
- // cause the shell to terminate.
- }
- }
-
- return status;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-int main (int argc, const char** argv)