[Lldb-commits] [lldb] [lldb-dap] Refactor handling progress events. (PR #224957)
Sergei Druzhkov via lldb-commits
lldb-commits at lists.llvm.org
Mon Sep 21 00:49:22 PDT 2026
================
@@ -179,6 +179,74 @@ struct StoppedEventBody {
};
llvm::json::Value toJSON(const StoppedEventBody &);
+/// The event signals that a long running operation is about to start and
+/// provides additional information for the client to set up a corresponding
+/// progress and cancellation UI.
+///
+/// The client is free to delay the showing of the UI in order to reduce
+/// flicker.
+///
+/// This event should only be sent if the corresponding capability
+/// `supportsProgressReporting` is true
+struct ProgressStartEventBody {
+ /// An ID that can be used in subsequent `progressUpdate` and `progressEnd`
+ /// events to make them refer to the same progress reporting. IDs must be
+ /// unique within a debug session.
+ String progressId;
+
+ /// Short title of the progress reporting. Shown in the UI to describe the
+ /// long running operation.
+ String title;
+
+ /// More detailed progress message.
+ std::optional<String> message;
+
+ /// Progress percentage to display (value range: 0 to 100). If omitted no
+ /// percentage is shown.
+ std::optional<uint32_t> percentage;
+
+ /// If true, the request that reports progress may be cancelled with a
+ /// `cancel` request.
+ std::optional<bool> cancellable;
+};
----------------
DrSergei wrote:
`requestId` field is missed, see [spec](https://microsoft.github.io/debug-adapter-protocol/specification#Events_ProgressStart)
https://github.com/llvm/llvm-project/pull/224957
More information about the lldb-commits
mailing list