This revision was automatically updated to reflect the committed changes.
Closed by commit rL363608: Add color to the default thread and frame format.
(authored by JDevlieghere, committed by ).
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Changed prior to commit:
https://reviews.llvm.org/D62743?vs=204855&id=205155#toc
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D62743/new/
https://reviews.llvm.org/D62743
Files:
lldb/trunk/packages/Python/lldbsuite/test/macosx/nslog/TestDarwinNSLogOutput.py
lldb/trunk/source/Core/Debugger.cpp
lldb/trunk/source/Core/FormatEntity.cpp
Index: lldb/trunk/source/Core/FormatEntity.cpp
===================================================================
--- lldb/trunk/source/Core/FormatEntity.cpp
+++ lldb/trunk/source/Core/FormatEntity.cpp
@@ -1109,11 +1109,11 @@
Debugger &debugger = target->GetDebugger();
if (debugger.GetUseColor()) {
s.PutCString(entry.string);
- return true;
}
}
}
- return false;
+ // Always return true, so colors being disabled is transparent.
+ return true;
case Entry::Type::Root:
for (const auto &child : entry.children) {
Index: lldb/trunk/source/Core/Debugger.cpp
===================================================================
--- lldb/trunk/source/Core/Debugger.cpp
+++ lldb/trunk/source/Core/Debugger.cpp
@@ -121,7 +121,10 @@
"{${frame.no-debug}${function.pc-offset}}}}"
#define FILE_AND_LINE
\
- "{ at ${line.file.basename}:${line.number}{:${line.column}}}"
+ "{ at ${ansi.fg.cyan}${line.file.basename}${ansi.normal}"
\
+ ":${ansi.fg.yellow}${line.number}${ansi.normal}"
\
+ "{:${ansi.fg.yellow}${line.column}${ansi.normal}}}"
+
#define IS_OPTIMIZED "{${function.is-optimized} [opt]}"
#define IS_ARTIFICIAL "{${frame.is-artificial} [artificial]}"
@@ -129,32 +132,36 @@
#define DEFAULT_THREAD_FORMAT
\
"thread #${thread.index}: tid = ${thread.id%tid}"
\
"{, ${frame.pc}}" MODULE_WITH_FUNC FILE_AND_LINE
\
- "{, name = '${thread.name}'}"
\
- "{, queue = '${thread.queue}'}"
\
- "{, activity = '${thread.info.activity.name}'}"
\
+ "{, name = ${ansi.fg.green}'${thread.name}'${ansi.normal}}"
\
+ "{, queue = ${ansi.fg.green}'${thread.queue}'${ansi.normal}}"
\
+ "{, activity = "
\
+ "${ansi.fg.green}'${thread.info.activity.name}'${ansi.normal}}"
\
"{, ${thread.info.trace_messages} messages}"
\
- "{, stop reason = ${thread.stop-reason}}"
\
+ "{, stop reason = ${ansi.fg.red}${thread.stop-reason}${ansi.normal}}"
\
"{\\nReturn value: ${thread.return-value}}"
\
"{\\nCompleted expression: ${thread.completed-expression}}"
\
"\\n"
#define DEFAULT_THREAD_STOP_FORMAT
\
"thread #${thread.index}{, name = '${thread.name}'}"
\
- "{, queue = '${thread.queue}'}"
\
- "{, activity = '${thread.info.activity.name}'}"
\
+ "{, queue = ${ansi.fg.green}'${thread.queue}'${ansi.normal}}"
\
+ "{, activity = "
\
+ "${ansi.fg.green}'${thread.info.activity.name}'${ansi.normal}}"
\
"{, ${thread.info.trace_messages} messages}"
\
- "{, stop reason = ${thread.stop-reason}}"
\
+ "{, stop reason = ${ansi.fg.red}${thread.stop-reason}${ansi.normal}}"
\
"{\\nReturn value: ${thread.return-value}}"
\
"{\\nCompleted expression: ${thread.completed-expression}}"
\
"\\n"
#define DEFAULT_FRAME_FORMAT
\
- "frame #${frame.index}: ${frame.pc}" MODULE_WITH_FUNC FILE_AND_LINE
\
+ "frame #${frame.index}: "
\
+ "${ansi.fg.yellow}${frame.pc}${ansi.normal}" MODULE_WITH_FUNC FILE_AND_LINE
\
IS_OPTIMIZED IS_ARTIFICIAL "\\n"
#define DEFAULT_FRAME_FORMAT_NO_ARGS
\
- "frame #${frame.index}: ${frame.pc}" MODULE_WITH_FUNC_NO_ARGS FILE_AND_LINE
\
- IS_OPTIMIZED IS_ARTIFICIAL "\\n"
+ "frame #${frame.index}: "
\
+ "${ansi.fg.yellow}${frame.pc}${ansi.normal}" MODULE_WITH_FUNC_NO_ARGS
\
+ FILE_AND_LINE IS_OPTIMIZED IS_ARTIFICIAL "\\n"
// Three parts to this disassembly format specification:
// 1. If this is a new function/symbol (no previous symbol/function), print
Index:
lldb/trunk/packages/Python/lldbsuite/test/macosx/nslog/TestDarwinNSLogOutput.py
===================================================================
---
lldb/trunk/packages/Python/lldbsuite/test/macosx/nslog/TestDarwinNSLogOutput.py
+++
lldb/trunk/packages/Python/lldbsuite/test/macosx/nslog/TestDarwinNSLogOutput.py
@@ -97,7 +97,7 @@
# Ensure we stopped at a breakpoint.
self.runCmd("thread list")
- self.expect(re.compile(r"stop reason = breakpoint"))
+ self.expect(re.compile(r"stop reason = .*breakpoint"))
def runCmd(self, cmd):
if self.child:
Index: lldb/trunk/source/Core/FormatEntity.cpp
===================================================================
--- lldb/trunk/source/Core/FormatEntity.cpp
+++ lldb/trunk/source/Core/FormatEntity.cpp
@@ -1109,11 +1109,11 @@
Debugger &debugger = target->GetDebugger();
if (debugger.GetUseColor()) {
s.PutCString(entry.string);
- return true;
}
}
}
- return false;
+ // Always return true, so colors being disabled is transparent.
+ return true;
case Entry::Type::Root:
for (const auto &child : entry.children) {
Index: lldb/trunk/source/Core/Debugger.cpp
===================================================================
--- lldb/trunk/source/Core/Debugger.cpp
+++ lldb/trunk/source/Core/Debugger.cpp
@@ -121,7 +121,10 @@
"{${frame.no-debug}${function.pc-offset}}}}"
#define FILE_AND_LINE \
- "{ at ${line.file.basename}:${line.number}{:${line.column}}}"
+ "{ at ${ansi.fg.cyan}${line.file.basename}${ansi.normal}" \
+ ":${ansi.fg.yellow}${line.number}${ansi.normal}" \
+ "{:${ansi.fg.yellow}${line.column}${ansi.normal}}}"
+
#define IS_OPTIMIZED "{${function.is-optimized} [opt]}"
#define IS_ARTIFICIAL "{${frame.is-artificial} [artificial]}"
@@ -129,32 +132,36 @@
#define DEFAULT_THREAD_FORMAT \
"thread #${thread.index}: tid = ${thread.id%tid}" \
"{, ${frame.pc}}" MODULE_WITH_FUNC FILE_AND_LINE \
- "{, name = '${thread.name}'}" \
- "{, queue = '${thread.queue}'}" \
- "{, activity = '${thread.info.activity.name}'}" \
+ "{, name = ${ansi.fg.green}'${thread.name}'${ansi.normal}}" \
+ "{, queue = ${ansi.fg.green}'${thread.queue}'${ansi.normal}}" \
+ "{, activity = " \
+ "${ansi.fg.green}'${thread.info.activity.name}'${ansi.normal}}" \
"{, ${thread.info.trace_messages} messages}" \
- "{, stop reason = ${thread.stop-reason}}" \
+ "{, stop reason = ${ansi.fg.red}${thread.stop-reason}${ansi.normal}}" \
"{\\nReturn value: ${thread.return-value}}" \
"{\\nCompleted expression: ${thread.completed-expression}}" \
"\\n"
#define DEFAULT_THREAD_STOP_FORMAT \
"thread #${thread.index}{, name = '${thread.name}'}" \
- "{, queue = '${thread.queue}'}" \
- "{, activity = '${thread.info.activity.name}'}" \
+ "{, queue = ${ansi.fg.green}'${thread.queue}'${ansi.normal}}" \
+ "{, activity = " \
+ "${ansi.fg.green}'${thread.info.activity.name}'${ansi.normal}}" \
"{, ${thread.info.trace_messages} messages}" \
- "{, stop reason = ${thread.stop-reason}}" \
+ "{, stop reason = ${ansi.fg.red}${thread.stop-reason}${ansi.normal}}" \
"{\\nReturn value: ${thread.return-value}}" \
"{\\nCompleted expression: ${thread.completed-expression}}" \
"\\n"
#define DEFAULT_FRAME_FORMAT \
- "frame #${frame.index}: ${frame.pc}" MODULE_WITH_FUNC FILE_AND_LINE \
+ "frame #${frame.index}: " \
+ "${ansi.fg.yellow}${frame.pc}${ansi.normal}" MODULE_WITH_FUNC FILE_AND_LINE \
IS_OPTIMIZED IS_ARTIFICIAL "\\n"
#define DEFAULT_FRAME_FORMAT_NO_ARGS \
- "frame #${frame.index}: ${frame.pc}" MODULE_WITH_FUNC_NO_ARGS FILE_AND_LINE \
- IS_OPTIMIZED IS_ARTIFICIAL "\\n"
+ "frame #${frame.index}: " \
+ "${ansi.fg.yellow}${frame.pc}${ansi.normal}" MODULE_WITH_FUNC_NO_ARGS \
+ FILE_AND_LINE IS_OPTIMIZED IS_ARTIFICIAL "\\n"
// Three parts to this disassembly format specification:
// 1. If this is a new function/symbol (no previous symbol/function), print
Index: lldb/trunk/packages/Python/lldbsuite/test/macosx/nslog/TestDarwinNSLogOutput.py
===================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/macosx/nslog/TestDarwinNSLogOutput.py
+++ lldb/trunk/packages/Python/lldbsuite/test/macosx/nslog/TestDarwinNSLogOutput.py
@@ -97,7 +97,7 @@
# Ensure we stopped at a breakpoint.
self.runCmd("thread list")
- self.expect(re.compile(r"stop reason = breakpoint"))
+ self.expect(re.compile(r"stop reason = .*breakpoint"))
def runCmd(self, cmd):
if self.child:
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits