summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core/Debugger.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Core/Debugger.cpp')
-rw-r--r--lldb/source/Core/Debugger.cpp210
1 files changed, 209 insertions, 1 deletions
diff --git a/lldb/source/Core/Debugger.cpp b/lldb/source/Core/Debugger.cpp
index 583c1caf0f9..c27559c3f5e 100644
--- a/lldb/source/Core/Debugger.cpp
+++ b/lldb/source/Core/Debugger.cpp
@@ -31,7 +31,7 @@
#include "lldb/Target/RegisterContext.h"
#include "lldb/Target/StopInfo.h"
#include "lldb/Target/Thread.h"
-
+#include "lldb/Utility/AnsiTerminal.h"
using namespace lldb;
using namespace lldb_private;
@@ -1303,6 +1303,214 @@ Debugger::FormatPrompt
format_addr = *addr;
}
}
+ else if (::strncmp (var_name_begin, "ansi.", strlen("ansi.")) == 0)
+ {
+ var_success = true;
+ var_name_begin += strlen("ansi."); // Skip the "ansi."
+ if (::strncmp (var_name_begin, "fg.", strlen("fg.")) == 0)
+ {
+ var_name_begin += strlen("fg."); // Skip the "fg."
+ if (::strncmp (var_name_begin, "black}", strlen("black}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_fg_black,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else if (::strncmp (var_name_begin, "red}", strlen("red}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_fg_red,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else if (::strncmp (var_name_begin, "green}", strlen("green}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_fg_green,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else if (::strncmp (var_name_begin, "yellow}", strlen("yellow}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_fg_yellow,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else if (::strncmp (var_name_begin, "blue}", strlen("blue}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_fg_blue,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else if (::strncmp (var_name_begin, "purple}", strlen("purple}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_fg_purple,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else if (::strncmp (var_name_begin, "cyan}", strlen("cyan}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_fg_cyan,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else if (::strncmp (var_name_begin, "white}", strlen("white}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_fg_white,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else
+ {
+ var_success = false;
+ }
+ }
+ else if (::strncmp (var_name_begin, "bg.", strlen("bg.")) == 0)
+ {
+ var_name_begin += strlen("bg."); // Skip the "bg."
+ if (::strncmp (var_name_begin, "black}", strlen("black}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_bg_black,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else if (::strncmp (var_name_begin, "red}", strlen("red}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_bg_red,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else if (::strncmp (var_name_begin, "green}", strlen("green}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_bg_green,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else if (::strncmp (var_name_begin, "yellow}", strlen("yellow}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_bg_yellow,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else if (::strncmp (var_name_begin, "blue}", strlen("blue}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_bg_blue,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else if (::strncmp (var_name_begin, "purple}", strlen("purple}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_bg_purple,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else if (::strncmp (var_name_begin, "cyan}", strlen("cyan}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_bg_cyan,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else if (::strncmp (var_name_begin, "white}", strlen("white}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_bg_white,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else
+ {
+ var_success = false;
+ }
+ }
+ else if (::strncmp (var_name_begin, "normal}", strlen ("normal}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_ctrl_normal,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else if (::strncmp (var_name_begin, "bold}", strlen("bold}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_ctrl_bold,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else if (::strncmp (var_name_begin, "faint}", strlen("faint}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_ctrl_faint,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else if (::strncmp (var_name_begin, "italic}", strlen("italic}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_ctrl_italic,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else if (::strncmp (var_name_begin, "underline}", strlen("underline}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_ctrl_underline,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else if (::strncmp (var_name_begin, "slow-blink}", strlen("slow-blink}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_ctrl_slow_blink,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else if (::strncmp (var_name_begin, "fast-blink}", strlen("fast-blink}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_ctrl_fast_blink,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else if (::strncmp (var_name_begin, "negative}", strlen("negative}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_ctrl_negative,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else if (::strncmp (var_name_begin, "conceal}", strlen("conceal}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_ctrl_conceal,
+ lldb_utility::ansi::k_escape_end);
+
+ }
+ else if (::strncmp (var_name_begin, "crossed-out}", strlen("crossed-out}")) == 0)
+ {
+ s.Printf ("%s%s%s",
+ lldb_utility::ansi::k_escape_start,
+ lldb_utility::ansi::k_ctrl_crossed_out,
+ lldb_utility::ansi::k_escape_end);
+ }
+ else
+ {
+ var_success = false;
+ }
+ }
break;
case 'p':
OpenPOWER on IntegriCloud