@@ -1,324 +1,392 @@
1−use serde::{Deserialize, Serialize};
1+use serde::{Deserialize, Serialize};
2−use serde_json::Value;
2+use serde_json::Value;
5+ type Arguments: serde::de::DeserializeOwned + serde::Serialize;
6+ type Result: serde::de::DeserializeOwned + serde::Serialize;
7+ const COMMAND: &'static str;
4−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
10+#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
5−#[serde(rename_all = "camelCase")]
11+#[serde(rename_all = "camelCase")]
6−pub struct ColumnDescriptor {
12+pub struct ColumnDescriptor {
7− pub attribute_name: String,
13+ pub attribute_name: String,
8− pub label: String,
14+ pub label: String,
9− pub format: Option<String>,
15+ pub format: Option<String>,
10− #[serde(rename = "type")]
16+ #[serde(rename = "type")]
11− pub col_type: Option<String>,
17+ pub col_type: Option<String>,
12− pub width: Option<usize>,
18+ pub width: Option<usize>,
15−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
21+#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
16−#[serde(rename_all = "camelCase")]
22+#[serde(rename_all = "camelCase")]
17−pub struct ExceptionBreakpointsFilter {
23+pub struct ExceptionBreakpointsFilter {
18− pub filter: String,
24+ pub filter: String,
19− pub label: String,
25+ pub label: String,
20− pub description: Option<String>,
26+ pub description: Option<String>,
21− pub default: Option<bool>,
27+ pub default: Option<bool>,
22− pub supports_condition: Option<bool>,
28+ pub supports_condition: Option<bool>,
23− pub condition_description: Option<String>,
29+ pub condition_description: Option<String>,
26−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
32+#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
27−#[serde(rename_all = "camelCase")]
33+#[serde(rename_all = "camelCase")]
28−pub struct DebuggerCapabilities {
34+pub struct DebuggerCapabilities {
29− pub supports_configuration_done_request: Option<bool>,
35+ pub supports_configuration_done_request: Option<bool>,
30− pub supports_function_breakpoints: Option<bool>,
36+ pub supports_function_breakpoints: Option<bool>,
31− pub supports_conditional_breakpoints: Option<bool>,
37+ pub supports_conditional_breakpoints: Option<bool>,
32− pub supports_hit_conditional_breakpoints: Option<bool>,
38+ pub supports_hit_conditional_breakpoints: Option<bool>,
33− pub supports_evaluate_for_hovers: Option<bool>,
39+ pub supports_evaluate_for_hovers: Option<bool>,
34− pub supports_step_back: Option<bool>,
40+ pub supports_step_back: Option<bool>,
35− pub supports_set_variable: Option<bool>,
41+ pub supports_set_variable: Option<bool>,
36− pub supports_restart_frame: Option<bool>,
42+ pub supports_restart_frame: Option<bool>,
37− pub supports_goto_targets_request: Option<bool>,
43+ pub supports_goto_targets_request: Option<bool>,
38− pub supports_step_in_targets_request: Option<bool>,
44+ pub supports_step_in_targets_request: Option<bool>,
39− pub supports_completions_request: Option<bool>,
45+ pub supports_completions_request: Option<bool>,
40− pub supports_modules_request: Option<bool>,
46+ pub supports_modules_request: Option<bool>,
41− pub supports_restart_request: Option<bool>,
47+ pub supports_restart_request: Option<bool>,
42− pub supports_exception_options: Option<bool>,
48+ pub supports_exception_options: Option<bool>,
43− pub supports_value_formatting_options: Option<bool>,
49+ pub supports_value_formatting_options: Option<bool>,
44− pub supports_exception_info_request: Option<bool>,
50+ pub supports_exception_info_request: Option<bool>,
45− pub support_terminate_debuggee: Option<bool>,
51+ pub support_terminate_debuggee: Option<bool>,
46− pub support_suspend_debuggee: Option<bool>,
52+ pub support_suspend_debuggee: Option<bool>,
47− pub supports_delayed_stack_trace_loading: Option<bool>,
53+ pub supports_delayed_stack_trace_loading: Option<bool>,
48− pub supports_loaded_sources_request: Option<bool>,
54+ pub supports_loaded_sources_request: Option<bool>,
49− pub supports_log_points: Option<bool>,
55+ pub supports_log_points: Option<bool>,
50− pub supports_terminate_threads_request: Option<bool>,
56+ pub supports_terminate_threads_request: Option<bool>,
51− pub supports_set_expression: Option<bool>,
57+ pub supports_set_expression: Option<bool>,
52− pub supports_terminate_request: Option<bool>,
58+ pub supports_terminate_request: Option<bool>,
53− pub supports_data_breakpoints: Option<bool>,
59+ pub supports_data_breakpoints: Option<bool>,
54− pub supports_read_memory_request: Option<bool>,
60+ pub supports_read_memory_request: Option<bool>,
55− pub supports_write_memory_request: Option<bool>,
61+ pub supports_write_memory_request: Option<bool>,
56− pub supports_disassemble_request: Option<bool>,
62+ pub supports_disassemble_request: Option<bool>,
57− pub supports_cancel_request: Option<bool>,
63+ pub supports_cancel_request: Option<bool>,
58− pub supports_breakpoint_locations_request: Option<bool>,
64+ pub supports_breakpoint_locations_request: Option<bool>,
59− pub supports_clipboard_context: Option<bool>,
65+ pub supports_clipboard_context: Option<bool>,
60− pub supports_stepping_granularity: Option<bool>,
66+ pub supports_stepping_granularity: Option<bool>,
61− pub supports_instruction_breakpoints: Option<bool>,
67+ pub supports_instruction_breakpoints: Option<bool>,
62− pub supports_exception_filter_options: Option<bool>,
68+ pub supports_exception_filter_options: Option<bool>,
63− pub exception_breakpoint_filters: Option<Vec<ExceptionBreakpointsFilter>>,
69+ pub exception_breakpoint_filters: Option<Vec<ExceptionBreakpointsFilter>>,
64− pub completion_trigger_characters: Option<Vec<String>>,
70+ pub completion_trigger_characters: Option<Vec<String>>,
65− pub additional_module_columns: Option<Vec<ColumnDescriptor>>,
71+ pub additional_module_columns: Option<Vec<ColumnDescriptor>>,
66− pub supported_checksum_algorithms: Option<Vec<String>>,
72+ pub supported_checksum_algorithms: Option<Vec<String>>,
69−impl std::ops::Deref for DebuggerCapabilities {
75+impl std::ops::Deref for DebuggerCapabilities {
70− type Target = Option<bool>;
76+ type Target = Option<bool>;
72− fn deref(&self) -> &Self::Target {
78+ fn deref(&self) -> &Self::Target {
73− &self.supports_exception_options
79+ &self.supports_exception_options
77−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
83+#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
78−#[serde(rename_all = "camelCase")]
84+#[serde(rename_all = "camelCase")]
79−pub struct InitializeArguments {
80− #[serde(rename = "clientID")]
81− pub client_id: Option<String>,
82− pub client_name: Option<String>,
83− #[serde(rename = "adapterID")]
84− pub adapter_id: String,
85− pub locale: Option<String>,
86− #[serde(rename = "linesStartAt1")]
87− pub lines_start_at_one: Option<bool>,
88− #[serde(rename = "columnsStartAt1")]
89− pub columns_start_at_one: Option<bool>,
90− pub path_format: Option<String>,
91− pub supports_variable_type: Option<bool>,
92− pub supports_variable_paging: Option<bool>,
93− pub supports_run_in_terminal_request: Option<bool>,
94− pub supports_memory_references: Option<bool>,
95− pub supports_progress_reporting: Option<bool>,
96− pub supports_invalidated_event: Option<bool>,
99−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
100−#[serde(rename_all = "camelCase")]
101−pub struct Checksum {
85+pub struct Checksum {
102− pub algorithm: String,
86+ pub algorithm: String,
103− pub checksum: String,
87+ pub checksum: String,
106−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
90+#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
107−#[serde(rename_all = "camelCase")]
91+#[serde(rename_all = "camelCase")]
108−pub struct Source {
92+pub struct Source {
109− pub name: Option<String>,
93+ pub name: Option<String>,
110− pub path: Option<String>,
94+ pub path: Option<String>,
111− pub source_reference: Option<usize>,
95+ pub source_reference: Option<usize>,
112− pub presentation_hint: Option<String>,
96+ pub presentation_hint: Option<String>,
113− pub origin: Option<String>,
97+ pub origin: Option<String>,
114− pub sources: Option<Vec<Source>>,
98+ pub sources: Option<Vec<Source>>,
115− pub adapter_data: Option<Value>,
99+ pub adapter_data: Option<Value>,
116− pub checksums: Option<Vec<Checksum>>,
100+ pub checksums: Option<Vec<Checksum>>,
119−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
103+#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
120−#[serde(rename_all = "camelCase")]
104+#[serde(rename_all = "camelCase")]
121−pub struct SourceBreakpoint {
105+pub struct SourceBreakpoint {
122− pub line: usize,
106+ pub line: usize,
123− pub column: Option<usize>,
107+ pub column: Option<usize>,
124− pub condition: Option<String>,
108+ pub condition: Option<String>,
125− pub hit_condition: Option<String>,
109+ pub hit_condition: Option<String>,
126− pub log_message: Option<String>,
110+ pub log_message: Option<String>,
129−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
113+#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
130−#[serde(rename_all = "camelCase")]
114+#[serde(rename_all = "camelCase")]
131−pub struct SetBreakpointsArguments {
133− pub breakpoints: Option<Vec<SourceBreakpoint>>,
134− // lines is deprecated
135− pub source_modified: Option<bool>,
138−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
139−#[serde(rename_all = "camelCase")]
140−pub struct Breakpoint {
115+pub struct Breakpoint {
141− pub id: Option<usize>,
116+ pub id: Option<usize>,
142− pub verified: bool,
117+ pub verified: bool,
143− pub message: Option<String>,
118+ pub message: Option<String>,
144− pub source: Option<Source>,
119+ pub source: Option<Source>,
145− pub line: Option<usize>,
120+ pub line: Option<usize>,
146− pub column: Option<usize>,
121+ pub column: Option<usize>,
147− pub end_line: Option<usize>,
122+ pub end_line: Option<usize>,
148− pub end_column: Option<usize>,
123+ pub end_column: Option<usize>,
149− pub instruction_reference: Option<String>,
124+ pub instruction_reference: Option<String>,
150− pub offset: Option<usize>,
125+ pub offset: Option<usize>,
153−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
128+#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
154−#[serde(rename_all = "camelCase")]
129+#[serde(rename_all = "camelCase")]
155−pub struct SetBreakpointsResponseBody {
156− pub breakpoints: Option<Vec<Breakpoint>>,
159−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
160−#[serde(rename_all = "camelCase")]
161−pub struct ContinueArguments {
162− pub thread_id: usize,
165−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
166−#[serde(rename_all = "camelCase")]
167−pub struct ContinueResponseBody {
168− pub all_threads_continued: Option<bool>,
171−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
172−#[serde(rename_all = "camelCase")]
173−pub struct StackFrameFormat {
130+pub struct StackFrameFormat {
174− pub parameters: Option<bool>,
131+ pub parameters: Option<bool>,
175− pub parameter_types: Option<bool>,
132+ pub parameter_types: Option<bool>,
176− pub parameter_names: Option<bool>,
133+ pub parameter_names: Option<bool>,
177− pub parameter_values: Option<bool>,
134+ pub parameter_values: Option<bool>,
178− pub line: Option<bool>,
135+ pub line: Option<bool>,
179− pub module: Option<bool>,
136+ pub module: Option<bool>,
180− pub include_all: Option<bool>,
137+ pub include_all: Option<bool>,
183−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
140+#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
184−#[serde(rename_all = "camelCase")]
141+#[serde(rename_all = "camelCase")]
185−pub struct StackTraceArguments {
186− pub thread_id: usize,
187− pub start_frame: Option<usize>,
188− pub levels: Option<usize>,
189− pub format: Option<StackFrameFormat>,
192−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
193−#[serde(rename_all = "camelCase")]
194−pub struct StackFrame {
142+pub struct StackFrame {
195− pub id: usize,
143+ pub id: usize,
196− pub name: String,
144+ pub name: String,
197− pub source: Option<Source>,
145+ pub source: Option<Source>,
198− pub line: usize,
146+ pub line: usize,
199− pub column: usize,
147+ pub column: usize,
200− pub end_line: Option<usize>,
148+ pub end_line: Option<usize>,
201− pub end_column: Option<usize>,
149+ pub end_column: Option<usize>,
202− pub can_restart: Option<bool>,
150+ pub can_restart: Option<bool>,
203− pub instruction_pointer_reference: Option<String>,
151+ pub instruction_pointer_reference: Option<String>,
204− pub module_id: Option<Value>,
152+ pub module_id: Option<Value>,
205− pub presentation_hint: Option<String>,
153+ pub presentation_hint: Option<String>,
208−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
156+#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
209−#[serde(rename_all = "camelCase")]
157+#[serde(rename_all = "camelCase")]
210−pub struct StackTraceResponseBody {
211− pub total_frames: Option<usize>,
212− pub stack_frames: Vec<StackFrame>,
215−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
216−#[serde(rename_all = "camelCase")]
217−pub struct Thread {
158+pub struct Thread {
218− pub id: usize,
159+ pub id: usize,
219− pub name: String,
160+ pub name: String,
222−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
223−#[serde(rename_all = "camelCase")]
224−pub struct ThreadsResponseBody {
225− pub threads: Vec<Thread>,
228−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
229−#[serde(rename_all = "camelCase")]
230−pub struct ScopesArguments {
231− pub frame_id: usize,
234−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
163+#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
235−#[serde(rename_all = "camelCase")]
164+#[serde(rename_all = "camelCase")]
236−pub struct Scope {
165+pub struct Scope {
237− pub name: String,
166+ pub name: String,
238− pub presentation_hint: Option<String>,
167+ pub presentation_hint: Option<String>,
239− pub variables_reference: usize,
168+ pub variables_reference: usize,
240− pub named_variables: Option<usize>,
169+ pub named_variables: Option<usize>,
241− pub indexed_variables: Option<usize>,
170+ pub indexed_variables: Option<usize>,
242− pub expensive: bool,
171+ pub expensive: bool,
243− pub source: Option<Source>,
172+ pub source: Option<Source>,
244− pub line: Option<usize>,
173+ pub line: Option<usize>,
245− pub column: Option<usize>,
174+ pub column: Option<usize>,
246− pub end_line: Option<usize>,
175+ pub end_line: Option<usize>,
247− pub end_column: Option<usize>,
176+ pub end_column: Option<usize>,
250−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
179+#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
251−#[serde(rename_all = "camelCase")]
180+#[serde(rename_all = "camelCase")]
252−pub struct ScopesResponseBody {
253− pub scopes: Vec<Scope>,
256−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
257−#[serde(rename_all = "camelCase")]
258−pub struct ValueFormat {
181+pub struct ValueFormat {
259− pub hex: Option<bool>,
182+ pub hex: Option<bool>,
262−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
185+#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
263−#[serde(rename_all = "camelCase")]
186+#[serde(rename_all = "camelCase")]
264−pub struct VariablesArguments {
265− pub variables_reference: usize,
266− pub filter: Option<String>,
267− pub start: Option<usize>,
268− pub count: Option<usize>,
269− pub format: Option<ValueFormat>,
272−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
273−#[serde(rename_all = "camelCase")]
274−pub struct VariablePresentationHint {
187+pub struct VariablePresentationHint {
275− pub kind: Option<String>,
188+ pub kind: Option<String>,
276− pub attributes: Option<Vec<String>>,
189+ pub attributes: Option<Vec<String>>,
277− pub visibility: Option<String>,
190+ pub visibility: Option<String>,
280−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
193+#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
281−#[serde(rename_all = "camelCase")]
194+#[serde(rename_all = "camelCase")]
282−pub struct Variable {
195+pub struct Variable {
283− pub name: String,
196+ pub name: String,
284− pub value: String,
197+ pub value: String,
285− #[serde(rename = "type")]
198+ #[serde(rename = "type")]
286− pub data_type: Option<String>,
199+ pub data_type: Option<String>,
287− pub presentation_hint: Option<VariablePresentationHint>,
200+ pub presentation_hint: Option<VariablePresentationHint>,
288− pub evaluate_name: Option<String>,
201+ pub evaluate_name: Option<String>,
289− pub variables_reference: usize,
202+ pub variables_reference: usize,
290− pub named_variables: Option<usize>,
203+ pub named_variables: Option<usize>,
291− pub indexed_variables: Option<usize>,
204+ pub indexed_variables: Option<usize>,
292− pub memory_reference: Option<String>,
205+ pub memory_reference: Option<String>,
295−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
210+ #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
296−#[serde(rename_all = "camelCase")]
211+ #[serde(rename_all = "camelCase")]
297−pub struct VariablesResponseBody {
212+ pub struct InitializeArguments {
213+ #[serde(rename = "clientID")]
214+ pub client_id: Option<String>,
215+ pub client_name: Option<String>,
216+ #[serde(rename = "adapterID")]
217+ pub adapter_id: String,
218+ pub locale: Option<String>,
219+ #[serde(rename = "linesStartAt1")]
220+ pub lines_start_at_one: Option<bool>,
221+ #[serde(rename = "columnsStartAt1")]
222+ pub columns_start_at_one: Option<bool>,
223+ pub path_format: Option<String>,
224+ pub supports_variable_type: Option<bool>,
225+ pub supports_variable_paging: Option<bool>,
226+ pub supports_run_in_terminal_request: Option<bool>,
227+ pub supports_memory_references: Option<bool>,
228+ pub supports_progress_reporting: Option<bool>,
229+ pub supports_invalidated_event: Option<bool>,
232+ #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
233+ #[serde(rename_all = "camelCase")]
234+ pub struct SetBreakpointsArguments {
236+ pub breakpoints: Option<Vec<SourceBreakpoint>>,
237+ // lines is deprecated
238+ pub source_modified: Option<bool>,
241+ #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
242+ #[serde(rename_all = "camelCase")]
243+ pub struct SetBreakpointsResponse {
244+ pub breakpoints: Option<Vec<Breakpoint>>,
248+ pub enum SetBreakpoints {}
250+ impl Request for SetBreakpoints {
251+ type Arguments = SetBreakpointsArguments;
252+ type Result = SetBreakpointsResponse;
253+ const COMMAND: &'static str = "setBreakpoints";
256+ #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
257+ #[serde(rename_all = "camelCase")]
258+ pub struct ContinueArguments {
259+ pub thread_id: usize,
262+ #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
263+ #[serde(rename_all = "camelCase")]
264+ pub struct ContinueResponse {
265+ pub all_threads_continued: Option<bool>,
269+ pub enum Continue {}
271+ impl Request for Continue {
272+ type Arguments = ContinueArguments;
273+ type Result = ContinueResponse;
274+ const COMMAND: &'static str = "continue";
277+ #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
278+ #[serde(rename_all = "camelCase")]
279+ pub struct StackTraceArguments {
280+ pub thread_id: usize,
281+ pub start_frame: Option<usize>,
282+ pub levels: Option<usize>,
283+ pub format: Option<StackFrameFormat>,
286+ #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
287+ #[serde(rename_all = "camelCase")]
288+ pub struct StackTraceResponse {
289+ pub total_frames: Option<usize>,
290+ pub stack_frames: Vec<StackFrame>,
294+ pub enum StackTrace {}
296+ impl Request for StackTrace {
297+ type Arguments = StackTraceArguments;
298+ type Result = StackTraceResponse;
299+ const COMMAND: &'static str = "stackTrace";
302+ #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
303+ #[serde(rename_all = "camelCase")]
304+ pub struct ThreadsResponse {
305+ pub threads: Vec<Thread>,
311+ impl Request for Threads {
312+ type Arguments = ();
313+ type Result = ThreadsResponse;
314+ const COMMAND: &'static str = "threads";
317+ #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
318+ #[serde(rename_all = "camelCase")]
319+ pub struct ScopesArguments {
320+ pub frame_id: usize,
323+ #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
324+ #[serde(rename_all = "camelCase")]
325+ pub struct ScopesResponse {
326+ pub scopes: Vec<Scope>,
332+ impl Request for Scopes {
333+ type Arguments = ScopesArguments;
334+ type Result = ScopesResponse;
335+ const COMMAND: &'static str = "scopes";
338+ #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
339+ #[serde(rename_all = "camelCase")]
340+ pub struct VariablesArguments {
341+ pub variables_reference: usize,
342+ pub filter: Option<String>,
343+ pub start: Option<usize>,
344+ pub count: Option<usize>,
345+ pub format: Option<ValueFormat>,
348+ #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
349+ #[serde(rename_all = "camelCase")]
350+ pub struct VariablesResponse {
298− pub variables: Vec<Variable>,
351+ pub variables: Vec<Variable>,
355+ pub enum Variables {}
357+ impl Request for Variables {
358+ type Arguments = VariablesArguments;
359+ type Result = VariablesResponse;
360+ const COMMAND: &'static str = "scopes";
301−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
368+ #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
302−#[serde(rename_all = "camelCase")]
369+ #[serde(rename_all = "camelCase")]
303−pub struct OutputEventBody {
370+ pub struct Output {
304− pub output: String,
371+ pub output: String,
305− pub category: Option<String>,
372+ pub category: Option<String>,
306− pub group: Option<String>,
373+ pub group: Option<String>,
307− pub line: Option<usize>,
374+ pub line: Option<usize>,
308− pub column: Option<usize>,
375+ pub column: Option<usize>,
309− pub variables_reference: Option<usize>,
376+ pub variables_reference: Option<usize>,
310− pub source: Option<Source>,
377+ pub source: Option<Source>,
311− pub data: Option<Value>,
378+ pub data: Option<Value>,
314−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
381+ #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
315−#[serde(rename_all = "camelCase")]
382+ #[serde(rename_all = "camelCase")]
316−pub struct StoppedEventBody {
383+ pub struct Stopped {
317− pub reason: String,
384+ pub reason: String,
318− pub description: Option<String>,
385+ pub description: Option<String>,
319− pub thread_id: Option<usize>,
386+ pub thread_id: Option<usize>,
320− pub preserve_focus_hint: Option<bool>,
387+ pub preserve_focus_hint: Option<bool>,
321− pub text: Option<String>,
388+ pub text: Option<String>,
322− pub all_threads_stopped: Option<bool>,
389+ pub all_threads_stopped: Option<bool>,
323− pub hit_breakpoint_ids: Option<Vec<usize>>,
390+ pub hit_breakpoint_ids: Option<Vec<usize>>,