[Lldb-commits] [lldb] [lldb][breakpoint] Grey out disabled breakpoints (PR #91404)
Chelsea Cassanova via lldb-commits
lldb-commits at lists.llvm.org
Thu May 9 17:05:10 PDT 2024
https://github.com/chelcassanova updated https://github.com/llvm/llvm-project/pull/91404
>From 0e45adeac968aa435f58dfef026ef308e56b40a5 Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: Thu, 9 May 2024 11:08:29 -0700
Subject: [PATCH] [lldb][breakpoint] Grey out disabled breakpoints
This commit adds colour settings to the list of breakpoints in order to
grey out breakpoints that have been disabled.
---
lldb/source/Breakpoint/Breakpoint.cpp | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/lldb/source/Breakpoint/Breakpoint.cpp b/lldb/source/Breakpoint/Breakpoint.cpp
index ae845e92762b9..8d28c5f1873e1 100644
--- a/lldb/source/Breakpoint/Breakpoint.cpp
+++ b/lldb/source/Breakpoint/Breakpoint.cpp
@@ -15,6 +15,7 @@
#include "lldb/Breakpoint/BreakpointResolver.h"
#include "lldb/Breakpoint/BreakpointResolverFileLine.h"
#include "lldb/Core/Address.h"
+#include "lldb/Core/Debugger.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/ModuleList.h"
#include "lldb/Core/SearchFilter.h"
@@ -26,6 +27,7 @@
#include "lldb/Target/SectionLoadList.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/ThreadSpec.h"
+#include "lldb/Utility/AnsiTerminal.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/Stream.h"
@@ -837,6 +839,12 @@ void Breakpoint::GetDescription(Stream *s, lldb::DescriptionLevel level,
bool show_locations) {
assert(s != nullptr);
+ // Grey out any disabled breakpoints in the list of breakpoints.
+ const bool print_faint =
+ (!IsEnabled() && GetTarget().GetDebugger().GetUseColor());
+ if (print_faint)
+ s->Printf("%s", ansi::FormatAnsiTerminalCodes("${ansi.faint}").c_str());
+
if (!m_kind_description.empty()) {
if (level == eDescriptionLevelBrief) {
s->PutCString(GetBreakpointKind());
@@ -933,6 +941,10 @@ void Breakpoint::GetDescription(Stream *s, lldb::DescriptionLevel level,
}
s->IndentLess();
}
+
+ // Reset the colors back to normal if they were previously greyed out.
+ if (print_faint)
+ s->Printf("%s", ansi::FormatAnsiTerminalCodes("${ansi.normal}").c_str());
}
void Breakpoint::GetResolverDescription(Stream *s) {
More information about the lldb-commits
mailing list