[Lldb-commits] [lldb] Support inline diagnostics in CommandReturnObject (PR #110901)

via lldb-commits lldb-commits at lists.llvm.org
Thu Oct 3 10:59:57 PDT 2024


================
@@ -3180,15 +3180,24 @@ void CommandInterpreter::IOHandlerInputComplete(IOHandler &io_handler,
   if ((result.Succeeded() &&
        io_handler.GetFlags().Test(eHandleCommandFlagPrintResult)) ||
       io_handler.GetFlags().Test(eHandleCommandFlagPrintErrors)) {
-    // Display any STDOUT/STDERR _prior_ to emitting the command result text
     GetProcessOutput();
 
+    // Display any inline diagnostics first.
+    if (!result.GetImmediateErrorStream() &&
+        GetDebugger().GetShowInlineDiagnostics() &&
+        line.find('\n') == std::string::npos) {
+      unsigned indent = GetDebugger().GetPrompt().size();
+      llvm::StringRef diags = result.GetInlineDiagnosticsData(indent, line);
+      PrintCommandOutput(io_handler, diags, true);
+    }
+
+    // Display any STDOUT/STDERR _prior_ to emitting the command result text.
----------------
jimingham wrote:

Did this comment move too far?  I'm pretty sure GetProcessOutput() is the call that displays STDOUT/STDERR.

https://github.com/llvm/llvm-project/pull/110901


More information about the lldb-commits mailing list