]> granicus.if.org Git - icinga2/commitdiff
Add color tags to the repl command
authorGunnar Beutner <gunnar.beutner@netways.de>
Sun, 23 Nov 2014 11:38:16 +0000 (12:38 +0100)
committerGunnar Beutner <gunnar.beutner@netways.de>
Sun, 23 Nov 2014 11:38:16 +0000 (12:38 +0100)
refs #7805

lib/cli/replcommand.cpp

index e2f4950732b5d359bd99a40fa061b1c5873d5b0d..5e71f0a9262918cc2ddd2c40fcce62d7d79c54a4 100644 (file)
@@ -21,6 +21,7 @@
 #include "config/configcompiler.hpp"
 #include "config/configcompilercontext.hpp"
 #include "base/json.hpp"
+#include "base/console.hpp"
 #include <iostream>
 
 using namespace icinga;
@@ -58,7 +59,9 @@ int ReplCommand::Run(const po::variables_map& vm, const std::vector<std::string>
        VMFrame frame;
 
        while (std::cin.good()) {
-               std::cout << "=> ";
+               std::cout << ConsoleColorTag(Console_ForegroundRed)
+                   << "=> "
+                   << ConsoleColorTag(Console_Normal);
 
                std::string line;
                std::getline(std::cin, line);
@@ -76,10 +79,12 @@ int ReplCommand::Run(const po::variables_map& vm, const std::vector<std::string>
 
                        if (expr) {
                                Value result = expr->Evaluate(frame);
+                               std::cout << ConsoleColorTag(Console_ForegroundCyan);
                                if (!result.IsObject() || result.IsObjectType<Array>() || result.IsObjectType<Dictionary>())
-                                       std::cout << JsonEncode(result) << "\n";
+                                       std::cout << JsonEncode(result);
                                else
-                                       std::cout << result << "\n";
+                                       std::cout << result;
+                               std::cout << ConsoleColorTag(Console_Normal) << "\n";
                        }
                } catch (const ConfigError& ex) {
                        std::cout << ex.what() << "\n";