================
@@ -208,6 +211,71 @@ static bool PrettyPrintFunctionNameWithArgs(Stream
&out_stream,
return true;
}
+static bool GetUseColor(ExecutionContextScope *exe_scope) {
+ if (!exe_scope)
+ return false;
+
+ auto target_sp = exe_scope->CalculateTarget();
+ if (!target_sp)
+ return false;
+
+ return target_sp->GetDebugger().GetUseColor();
+}
+
+static bool ShouldHighlightBasename(
+ ExecutionContextScope *exe_scope,
+ const FormatEntity::Entry::HighlightSettings &settings) {
+ if (!GetUseColor(exe_scope))
+ return false;
+
+ return settings.kind ==
+ FormatEntity::Entry::HighlightSettings::Kind::Basename;
+}
+
+/// If \c DemangledNameInfo is valid, we use it to print a function function
+/// name into \c out_stream (and if requested, highlight the basename).
+static bool PrettyPrintHighlightedBasenameWithArgs(
+ Stream &out_stream, llvm::StringRef full_name,
+ ExecutionContextScope *exe_scope, VariableList const &args,
+ const std::optional<DemangledNameInfo> &demangled_info,
+ const FormatEntity::Entry::HighlightSettings &settings) {
+ // If we didn't get sufficient information from the demangler, we fall back
to
+ // parsing the and printing parts of the demangled name ourselves.
+ if (!demangled_info || !demangled_info->hasBasename())
+ return PrettyPrintFunctionNameWithArgs(out_stream, full_name, exe_scope,
----------------
Michael137 wrote:
The highlighting could even be a separate PR on top of this.
https://github.com/llvm/llvm-project/pull/131836
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits