use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct CancelArguments {
#[serde(rename = "requestId")]
#[serde(default)]
pub request_id: Option<u64>,
#[serde(rename = "progressId")]
#[serde(default)]
pub progress_id: Option<String>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct StoppedEvent {
#[serde(rename = "reason")]
pub reason: StoppedEventReason,
#[serde(rename = "description")]
#[serde(default)]
pub description: Option<String>,
#[serde(rename = "threadId")]
#[serde(default)]
pub thread_id: Option<u64>,
#[serde(rename = "preserveFocusHint")]
#[serde(default)]
pub preserve_focus_hint: Option<bool>,
#[serde(rename = "text")]
#[serde(default)]
pub text: Option<String>,
#[serde(rename = "allThreadsStopped")]
#[serde(default)]
pub all_threads_stopped: Option<bool>,
#[serde(rename = "hitBreakpointIds")]
#[serde(default)]
pub hit_breakpoint_ids: Option<Vec<u64>>,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Deserialize, Serialize)]
#[non_exhaustive]
pub enum StoppedEventReason {
#[serde(rename = "step")]
Step,
#[serde(rename = "breakpoint")]
Breakpoint,
#[serde(rename = "exception")]
Exception,
#[serde(rename = "pause")]
Pause,
#[serde(rename = "entry")]
Entry,
#[serde(rename = "goto")]
Goto,
#[serde(rename = "function breakpoint")]
FunctionBreakpoint,
#[serde(rename = "data breakpoint")]
DataBreakpoint,
#[serde(rename = "instruction breakpoint")]
InstructionBreakpoint,
#[serde(other)]
Unknown,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ContinuedEvent {
#[serde(rename = "threadId")]
pub thread_id: u64,
#[serde(rename = "allThreadsContinued")]
#[serde(default)]
pub all_threads_continued: Option<bool>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ExitedEvent {
#[serde(rename = "exitCode")]
pub exit_code: u64,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct TerminatedEvent {
#[serde(rename = "restart")]
#[serde(default)]
pub restart: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ThreadEvent {
#[serde(rename = "reason")]
pub reason: ThreadEventReason,
#[serde(rename = "threadId")]
pub thread_id: u64,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Deserialize, Serialize)]
#[non_exhaustive]
pub enum ThreadEventReason {
#[serde(rename = "started")]
Started,
#[serde(rename = "exited")]
Exited,
#[serde(other)]
Unknown,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct OutputEvent {
#[serde(rename = "category")]
#[serde(default)]
pub category: Option<OutputEventCategory>,
#[serde(rename = "output")]
pub output: String,
#[serde(rename = "group")]
#[serde(default)]
pub group: Option<OutputEventGroup>,
#[serde(rename = "variablesReference")]
#[serde(default)]
pub variables_reference: Option<u64>,
#[serde(rename = "source")]
#[serde(default)]
pub source: Option<Source>,
#[serde(rename = "line")]
#[serde(default)]
pub line: Option<u64>,
#[serde(rename = "column")]
#[serde(default)]
pub column: Option<u64>,
#[serde(rename = "data")]
#[serde(default)]
pub data: Option<serde_json::Value>,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Deserialize, Serialize)]
#[non_exhaustive]
pub enum OutputEventCategory {
#[serde(rename = "console")]
Console,
#[serde(rename = "important")]
Important,
#[serde(rename = "stdout")]
Stdout,
#[serde(rename = "stderr")]
Stderr,
#[serde(rename = "telemetry")]
Telemetry,
#[serde(other)]
Unknown,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Copy, Deserialize, Serialize)]
pub enum OutputEventGroup {
#[serde(rename = "start")]
Start,
#[serde(rename = "startCollapsed")]
StartCollapsed,
#[serde(rename = "end")]
End,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct BreakpointEvent {
#[serde(rename = "reason")]
pub reason: BreakpointEventReason,
#[serde(rename = "breakpoint")]
pub breakpoint: Breakpoint,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Deserialize, Serialize)]
#[non_exhaustive]
pub enum BreakpointEventReason {
#[serde(rename = "changed")]
Changed,
#[serde(rename = "new")]
New,
#[serde(rename = "removed")]
Removed,
#[serde(other)]
Unknown,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ModuleEvent {
#[serde(rename = "reason")]
pub reason: ModuleEventReason,
#[serde(rename = "module")]
pub module: Module,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Copy, Deserialize, Serialize)]
pub enum ModuleEventReason {
#[serde(rename = "new")]
New,
#[serde(rename = "changed")]
Changed,
#[serde(rename = "removed")]
Removed,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct LoadedSourceEvent {
#[serde(rename = "reason")]
pub reason: LoadedSourceEventReason,
#[serde(rename = "source")]
pub source: Source,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Copy, Deserialize, Serialize)]
pub enum LoadedSourceEventReason {
#[serde(rename = "new")]
New,
#[serde(rename = "changed")]
Changed,
#[serde(rename = "removed")]
Removed,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ProcessEvent {
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "systemProcessId")]
#[serde(default)]
pub system_process_id: Option<u64>,
#[serde(rename = "isLocalProcess")]
#[serde(default)]
pub is_local_process: Option<bool>,
#[serde(rename = "startMethod")]
#[serde(default)]
pub start_method: Option<ProcessEventStartMethod>,
#[serde(rename = "pointerSize")]
#[serde(default)]
pub pointer_size: Option<u64>,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Copy, Deserialize, Serialize)]
pub enum ProcessEventStartMethod {
#[serde(rename = "launch")]
Launch,
#[serde(rename = "attach")]
Attach,
#[serde(rename = "attachForSuspendedLaunch")]
AttachForSuspendedLaunch,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct CapabilitiesEvent {
#[serde(rename = "capabilities")]
pub capabilities: Capabilities,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ProgressStartEvent {
#[serde(rename = "progressId")]
pub progress_id: String,
#[serde(rename = "title")]
pub title: String,
#[serde(rename = "requestId")]
#[serde(default)]
pub request_id: Option<u64>,
#[serde(rename = "cancellable")]
#[serde(default)]
pub cancellable: Option<bool>,
#[serde(rename = "message")]
#[serde(default)]
pub message: Option<String>,
#[serde(rename = "percentage")]
#[serde(default)]
pub percentage: Option<u64>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ProgressUpdateEvent {
#[serde(rename = "progressId")]
pub progress_id: String,
#[serde(rename = "message")]
#[serde(default)]
pub message: Option<String>,
#[serde(rename = "percentage")]
#[serde(default)]
pub percentage: Option<u64>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ProgressEndEvent {
#[serde(rename = "progressId")]
pub progress_id: String,
#[serde(rename = "message")]
#[serde(default)]
pub message: Option<String>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct InvalidatedEvent {
#[serde(rename = "areas")]
#[serde(default)]
pub areas: Option<Vec<InvalidatedAreas>>,
#[serde(rename = "threadId")]
#[serde(default)]
pub thread_id: Option<u64>,
#[serde(rename = "stackFrameId")]
#[serde(default)]
pub stack_frame_id: Option<u64>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct MemoryEvent {
#[serde(rename = "memoryReference")]
pub memory_reference: String,
#[serde(rename = "offset")]
pub offset: u64,
#[serde(rename = "count")]
pub count: u64,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct RunInTerminalRequestArguments {
#[serde(rename = "kind")]
#[serde(default)]
pub kind: Option<RunInTerminalRequestArgumentsKind>,
#[serde(rename = "title")]
#[serde(default)]
pub title: Option<String>,
#[serde(rename = "cwd")]
pub cwd: String,
#[serde(rename = "args")]
pub args: Vec<String>,
#[serde(rename = "env")]
#[serde(default)]
pub env: Option<serde_json::Value>,
#[serde(rename = "argsCanBeInterpretedByShell")]
#[serde(default)]
pub args_can_be_interpreted_by_shell: Option<bool>,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Copy, Deserialize, Serialize)]
pub enum RunInTerminalRequestArgumentsKind {
#[serde(rename = "integrated")]
Integrated,
#[serde(rename = "external")]
External,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct RunInTerminalResponse {
#[serde(rename = "processId")]
#[serde(default)]
pub process_id: Option<u64>,
#[serde(rename = "shellProcessId")]
#[serde(default)]
pub shell_process_id: Option<u64>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct StartDebuggingRequestArguments {
#[serde(rename = "configuration")]
pub configuration: serde_json::Value,
#[serde(rename = "request")]
pub request: StartDebuggingRequestArgumentsRequest,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Copy, Deserialize, Serialize)]
pub enum StartDebuggingRequestArgumentsRequest {
#[serde(rename = "launch")]
Launch,
#[serde(rename = "attach")]
Attach,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct InitializeRequestArguments {
#[serde(rename = "clientID")]
#[serde(default)]
pub client_id: Option<String>,
#[serde(rename = "clientName")]
#[serde(default)]
pub client_name: Option<String>,
#[serde(rename = "adapterID")]
pub adapter_id: String,
#[serde(rename = "locale")]
#[serde(default)]
pub locale: Option<String>,
#[serde(rename = "linesStartAt1")]
#[serde(default)]
pub lines_start_at1: Option<bool>,
#[serde(rename = "columnsStartAt1")]
#[serde(default)]
pub columns_start_at1: Option<bool>,
#[serde(rename = "pathFormat")]
#[serde(default)]
pub path_format: Option<InitializeRequestArgumentsPathFormat>,
#[serde(rename = "supportsVariableType")]
#[serde(default)]
pub supports_variable_type: Option<bool>,
#[serde(rename = "supportsVariablePaging")]
#[serde(default)]
pub supports_variable_paging: Option<bool>,
#[serde(rename = "supportsRunInTerminalRequest")]
#[serde(default)]
pub supports_run_in_terminal_request: Option<bool>,
#[serde(rename = "supportsMemoryReferences")]
#[serde(default)]
pub supports_memory_references: Option<bool>,
#[serde(rename = "supportsProgressReporting")]
#[serde(default)]
pub supports_progress_reporting: Option<bool>,
#[serde(rename = "supportsInvalidatedEvent")]
#[serde(default)]
pub supports_invalidated_event: Option<bool>,
#[serde(rename = "supportsMemoryEvent")]
#[serde(default)]
pub supports_memory_event: Option<bool>,
#[serde(rename = "supportsArgsCanBeInterpretedByShell")]
#[serde(default)]
pub supports_args_can_be_interpreted_by_shell: Option<bool>,
#[serde(rename = "supportsStartDebuggingRequest")]
#[serde(default)]
pub supports_start_debugging_request: Option<bool>,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Deserialize, Serialize)]
#[non_exhaustive]
pub enum InitializeRequestArgumentsPathFormat {
#[serde(rename = "path")]
Path,
#[serde(rename = "uri")]
Uri,
#[serde(other)]
Unknown,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ConfigurationDoneArguments;
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct DisconnectArguments {
#[serde(rename = "restart")]
#[serde(default)]
pub restart: Option<bool>,
#[serde(rename = "terminateDebuggee")]
#[serde(default)]
pub terminate_debuggee: Option<bool>,
#[serde(rename = "suspendDebuggee")]
#[serde(default)]
pub suspend_debuggee: Option<bool>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct TerminateArguments {
#[serde(rename = "restart")]
#[serde(default)]
pub restart: Option<bool>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct BreakpointLocationsArguments {
#[serde(rename = "source")]
pub source: Source,
#[serde(rename = "line")]
pub line: u64,
#[serde(rename = "column")]
#[serde(default)]
pub column: Option<u64>,
#[serde(rename = "endLine")]
#[serde(default)]
pub end_line: Option<u64>,
#[serde(rename = "endColumn")]
#[serde(default)]
pub end_column: Option<u64>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct BreakpointLocationsResponse {
#[serde(rename = "breakpoints")]
pub breakpoints: Vec<BreakpointLocation>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct SetBreakpointsArguments {
#[serde(rename = "source")]
pub source: Source,
#[serde(rename = "breakpoints")]
#[serde(default)]
pub breakpoints: Option<Vec<SourceBreakpoint>>,
#[serde(rename = "lines")]
#[serde(default)]
pub lines: Option<Vec<u64>>,
#[serde(rename = "sourceModified")]
#[serde(default)]
pub source_modified: Option<bool>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct SetBreakpointsResponse {
#[serde(rename = "breakpoints")]
pub breakpoints: Vec<Breakpoint>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct SetFunctionBreakpointsArguments {
#[serde(rename = "breakpoints")]
pub breakpoints: Vec<FunctionBreakpoint>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct SetFunctionBreakpointsResponse {
#[serde(rename = "breakpoints")]
pub breakpoints: Vec<Breakpoint>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct SetExceptionBreakpointsArguments {
#[serde(rename = "filters")]
pub filters: Vec<String>,
#[serde(rename = "filterOptions")]
#[serde(default)]
pub filter_options: Option<Vec<ExceptionFilterOptions>>,
#[serde(rename = "exceptionOptions")]
#[serde(default)]
pub exception_options: Option<Vec<ExceptionOptions>>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct SetExceptionBreakpointsResponse {
#[serde(rename = "breakpoints")]
#[serde(default)]
pub breakpoints: Option<Vec<Breakpoint>>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct DataBreakpointInfoArguments {
#[serde(rename = "variablesReference")]
#[serde(default)]
pub variables_reference: Option<u64>,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "frameId")]
#[serde(default)]
pub frame_id: Option<u64>,
#[serde(rename = "mode")]
#[serde(default)]
pub mode: Option<String>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct DataBreakpointInfoResponse {
#[serde(rename = "dataId")]
pub data_id: Option<String>,
#[serde(rename = "description")]
pub description: String,
#[serde(rename = "accessTypes")]
#[serde(default)]
pub access_types: Option<Vec<DataBreakpointAccessType>>,
#[serde(rename = "canPersist")]
#[serde(default)]
pub can_persist: Option<bool>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct SetDataBreakpointsArguments {
#[serde(rename = "breakpoints")]
pub breakpoints: Vec<DataBreakpoint>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct SetDataBreakpointsResponse {
#[serde(rename = "breakpoints")]
pub breakpoints: Vec<Breakpoint>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct SetInstructionBreakpointsArguments {
#[serde(rename = "breakpoints")]
pub breakpoints: Vec<InstructionBreakpoint>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct SetInstructionBreakpointsResponse {
#[serde(rename = "breakpoints")]
pub breakpoints: Vec<Breakpoint>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ContinueArguments {
#[serde(rename = "threadId")]
pub thread_id: u64,
#[serde(rename = "singleThread")]
#[serde(default)]
pub single_thread: Option<bool>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ContinueResponse {
#[serde(rename = "allThreadsContinued")]
#[serde(default)]
pub all_threads_continued: Option<bool>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct NextArguments {
#[serde(rename = "threadId")]
pub thread_id: u64,
#[serde(rename = "singleThread")]
#[serde(default)]
pub single_thread: Option<bool>,
#[serde(rename = "granularity")]
#[serde(default)]
pub granularity: Option<SteppingGranularity>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct StepInArguments {
#[serde(rename = "threadId")]
pub thread_id: u64,
#[serde(rename = "singleThread")]
#[serde(default)]
pub single_thread: Option<bool>,
#[serde(rename = "targetId")]
#[serde(default)]
pub target_id: Option<u64>,
#[serde(rename = "granularity")]
#[serde(default)]
pub granularity: Option<SteppingGranularity>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct StepOutArguments {
#[serde(rename = "threadId")]
pub thread_id: u64,
#[serde(rename = "singleThread")]
#[serde(default)]
pub single_thread: Option<bool>,
#[serde(rename = "granularity")]
#[serde(default)]
pub granularity: Option<SteppingGranularity>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct StepBackArguments {
#[serde(rename = "threadId")]
pub thread_id: u64,
#[serde(rename = "singleThread")]
#[serde(default)]
pub single_thread: Option<bool>,
#[serde(rename = "granularity")]
#[serde(default)]
pub granularity: Option<SteppingGranularity>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ReverseContinueArguments {
#[serde(rename = "threadId")]
pub thread_id: u64,
#[serde(rename = "singleThread")]
#[serde(default)]
pub single_thread: Option<bool>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct RestartFrameArguments {
#[serde(rename = "frameId")]
pub frame_id: u64,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct GotoArguments {
#[serde(rename = "threadId")]
pub thread_id: u64,
#[serde(rename = "targetId")]
pub target_id: u64,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct PauseArguments {
#[serde(rename = "threadId")]
pub thread_id: u64,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct StackTraceArguments {
#[serde(rename = "threadId")]
pub thread_id: u64,
#[serde(rename = "startFrame")]
#[serde(default)]
pub start_frame: Option<u64>,
#[serde(rename = "levels")]
#[serde(default)]
pub levels: Option<u64>,
#[serde(rename = "format")]
#[serde(default)]
pub format: Option<StackFrameFormat>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct StackTraceResponse {
#[serde(rename = "stackFrames")]
pub stack_frames: Vec<StackFrame>,
#[serde(rename = "totalFrames")]
#[serde(default)]
pub total_frames: Option<u64>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ScopesArguments {
#[serde(rename = "frameId")]
pub frame_id: u64,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ScopesResponse {
#[serde(rename = "scopes")]
pub scopes: Vec<Scope>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct VariablesArguments {
#[serde(rename = "variablesReference")]
pub variables_reference: u64,
#[serde(rename = "filter")]
#[serde(default)]
pub filter: Option<VariablesArgumentsFilter>,
#[serde(rename = "start")]
#[serde(default)]
pub start: Option<u64>,
#[serde(rename = "count")]
#[serde(default)]
pub count: Option<u64>,
#[serde(rename = "format")]
#[serde(default)]
pub format: Option<ValueFormat>,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Copy, Deserialize, Serialize)]
pub enum VariablesArgumentsFilter {
#[serde(rename = "indexed")]
Indexed,
#[serde(rename = "named")]
Named,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct VariablesResponse {
#[serde(rename = "variables")]
pub variables: Vec<Variable>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct SetVariableArguments {
#[serde(rename = "variablesReference")]
pub variables_reference: u64,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "value")]
pub value: String,
#[serde(rename = "format")]
#[serde(default)]
pub format: Option<ValueFormat>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct SetVariableResponse {
#[serde(rename = "value")]
pub value: String,
#[serde(rename = "type")]
#[serde(default)]
pub type_: Option<String>,
#[serde(rename = "variablesReference")]
#[serde(default)]
pub variables_reference: Option<u64>,
#[serde(rename = "namedVariables")]
#[serde(default)]
pub named_variables: Option<u64>,
#[serde(rename = "indexedVariables")]
#[serde(default)]
pub indexed_variables: Option<u64>,
#[serde(rename = "memoryReference")]
#[serde(default)]
pub memory_reference: Option<String>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct SourceArguments {
#[serde(rename = "source")]
#[serde(default)]
pub source: Option<Source>,
#[serde(rename = "sourceReference")]
pub source_reference: u64,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct SourceResponse {
#[serde(rename = "content")]
pub content: String,
#[serde(rename = "mimeType")]
#[serde(default)]
pub mime_type: Option<String>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ThreadsResponse {
#[serde(rename = "threads")]
pub threads: Vec<Thread>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct TerminateThreadsArguments {
#[serde(rename = "threadIds")]
#[serde(default)]
pub thread_ids: Option<Vec<u64>>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ModulesArguments {
#[serde(rename = "startModule")]
#[serde(default)]
pub start_module: Option<u64>,
#[serde(rename = "moduleCount")]
#[serde(default)]
pub module_count: Option<u64>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ModulesResponse {
#[serde(rename = "modules")]
pub modules: Vec<Module>,
#[serde(rename = "totalModules")]
#[serde(default)]
pub total_modules: Option<u64>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct LoadedSourcesArguments;
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct LoadedSourcesResponse {
#[serde(rename = "sources")]
pub sources: Vec<Source>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct EvaluateArguments {
#[serde(rename = "expression")]
pub expression: String,
#[serde(rename = "frameId")]
#[serde(default)]
pub frame_id: Option<u64>,
#[serde(rename = "context")]
#[serde(default)]
pub context: Option<EvaluateArgumentsContext>,
#[serde(rename = "format")]
#[serde(default)]
pub format: Option<ValueFormat>,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Deserialize, Serialize)]
#[non_exhaustive]
pub enum EvaluateArgumentsContext {
#[serde(rename = "watch")]
Watch,
#[serde(rename = "repl")]
Repl,
#[serde(rename = "hover")]
Hover,
#[serde(rename = "clipboard")]
Clipboard,
#[serde(rename = "variables")]
Variables,
#[serde(other)]
Unknown,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct EvaluateResponse {
#[serde(rename = "result")]
pub result: String,
#[serde(rename = "type")]
#[serde(default)]
pub type_: Option<String>,
#[serde(rename = "presentationHint")]
#[serde(default)]
pub presentation_hint: Option<VariablePresentationHint>,
#[serde(rename = "variablesReference")]
pub variables_reference: u64,
#[serde(rename = "namedVariables")]
#[serde(default)]
pub named_variables: Option<u64>,
#[serde(rename = "indexedVariables")]
#[serde(default)]
pub indexed_variables: Option<u64>,
#[serde(rename = "memoryReference")]
#[serde(default)]
pub memory_reference: Option<String>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct SetExpressionArguments {
#[serde(rename = "expression")]
pub expression: String,
#[serde(rename = "value")]
pub value: String,
#[serde(rename = "frameId")]
#[serde(default)]
pub frame_id: Option<u64>,
#[serde(rename = "format")]
#[serde(default)]
pub format: Option<ValueFormat>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct SetExpressionResponse {
#[serde(rename = "value")]
pub value: String,
#[serde(rename = "type")]
#[serde(default)]
pub type_: Option<String>,
#[serde(rename = "presentationHint")]
#[serde(default)]
pub presentation_hint: Option<VariablePresentationHint>,
#[serde(rename = "variablesReference")]
#[serde(default)]
pub variables_reference: Option<u64>,
#[serde(rename = "namedVariables")]
#[serde(default)]
pub named_variables: Option<u64>,
#[serde(rename = "indexedVariables")]
#[serde(default)]
pub indexed_variables: Option<u64>,
#[serde(rename = "memoryReference")]
#[serde(default)]
pub memory_reference: Option<String>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct StepInTargetsArguments {
#[serde(rename = "frameId")]
pub frame_id: u64,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct StepInTargetsResponse {
#[serde(rename = "targets")]
pub targets: Vec<StepInTarget>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct GotoTargetsArguments {
#[serde(rename = "source")]
pub source: Source,
#[serde(rename = "line")]
pub line: u64,
#[serde(rename = "column")]
#[serde(default)]
pub column: Option<u64>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct GotoTargetsResponse {
#[serde(rename = "targets")]
pub targets: Vec<GotoTarget>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct CompletionsArguments {
#[serde(rename = "frameId")]
#[serde(default)]
pub frame_id: Option<u64>,
#[serde(rename = "text")]
pub text: String,
#[serde(rename = "column")]
pub column: u64,
#[serde(rename = "line")]
#[serde(default)]
pub line: Option<u64>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct CompletionsResponse {
#[serde(rename = "targets")]
pub targets: Vec<CompletionItem>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ExceptionInfoArguments {
#[serde(rename = "threadId")]
pub thread_id: u64,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ExceptionInfoResponse {
#[serde(rename = "exceptionId")]
pub exception_id: String,
#[serde(rename = "description")]
#[serde(default)]
pub description: Option<String>,
#[serde(rename = "breakMode")]
pub break_mode: ExceptionBreakMode,
#[serde(rename = "details")]
#[serde(default)]
pub details: Option<ExceptionDetails>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ReadMemoryArguments {
#[serde(rename = "memoryReference")]
pub memory_reference: String,
#[serde(rename = "offset")]
#[serde(default)]
pub offset: Option<u64>,
#[serde(rename = "count")]
pub count: u64,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ReadMemoryResponse {
#[serde(rename = "address")]
pub address: String,
#[serde(rename = "unreadableBytes")]
#[serde(default)]
pub unreadable_bytes: Option<u64>,
#[serde(rename = "data")]
#[serde(default)]
pub data: Option<String>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct WriteMemoryArguments {
#[serde(rename = "memoryReference")]
pub memory_reference: String,
#[serde(rename = "offset")]
#[serde(default)]
pub offset: Option<u64>,
#[serde(rename = "allowPartial")]
#[serde(default)]
pub allow_partial: Option<bool>,
#[serde(rename = "data")]
pub data: String,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct WriteMemoryResponse {
#[serde(rename = "offset")]
#[serde(default)]
pub offset: Option<u64>,
#[serde(rename = "bytesWritten")]
#[serde(default)]
pub bytes_written: Option<u64>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct DisassembleArguments {
#[serde(rename = "memoryReference")]
pub memory_reference: String,
#[serde(rename = "offset")]
#[serde(default)]
pub offset: Option<u64>,
#[serde(rename = "instructionOffset")]
#[serde(default)]
pub instruction_offset: Option<u64>,
#[serde(rename = "instructionCount")]
pub instruction_count: u64,
#[serde(rename = "resolveSymbols")]
#[serde(default)]
pub resolve_symbols: Option<bool>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct DisassembleResponse {
#[serde(rename = "instructions")]
pub instructions: Vec<DisassembledInstruction>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct Capabilities {
#[serde(rename = "supportsConfigurationDoneRequest")]
#[serde(default)]
pub supports_configuration_done_request: Option<bool>,
#[serde(rename = "supportsFunctionBreakpoints")]
#[serde(default)]
pub supports_function_breakpoints: Option<bool>,
#[serde(rename = "supportsConditionalBreakpoints")]
#[serde(default)]
pub supports_conditional_breakpoints: Option<bool>,
#[serde(rename = "supportsHitConditionalBreakpoints")]
#[serde(default)]
pub supports_hit_conditional_breakpoints: Option<bool>,
#[serde(rename = "supportsEvaluateForHovers")]
#[serde(default)]
pub supports_evaluate_for_hovers: Option<bool>,
#[serde(rename = "exceptionBreakpointFilters")]
#[serde(default)]
pub exception_breakpoint_filters: Option<Vec<ExceptionBreakpointsFilter>>,
#[serde(rename = "supportsStepBack")]
#[serde(default)]
pub supports_step_back: Option<bool>,
#[serde(rename = "supportsSetVariable")]
#[serde(default)]
pub supports_set_variable: Option<bool>,
#[serde(rename = "supportsRestartFrame")]
#[serde(default)]
pub supports_restart_frame: Option<bool>,
#[serde(rename = "supportsGotoTargetsRequest")]
#[serde(default)]
pub supports_goto_targets_request: Option<bool>,
#[serde(rename = "supportsStepInTargetsRequest")]
#[serde(default)]
pub supports_step_in_targets_request: Option<bool>,
#[serde(rename = "supportsCompletionsRequest")]
#[serde(default)]
pub supports_completions_request: Option<bool>,
#[serde(rename = "completionTriggerCharacters")]
#[serde(default)]
pub completion_trigger_characters: Option<Vec<String>>,
#[serde(rename = "supportsModulesRequest")]
#[serde(default)]
pub supports_modules_request: Option<bool>,
#[serde(rename = "additionalModuleColumns")]
#[serde(default)]
pub additional_module_columns: Option<Vec<ColumnDescriptor>>,
#[serde(rename = "supportedChecksumAlgorithms")]
#[serde(default)]
pub supported_checksum_algorithms: Option<Vec<ChecksumAlgorithm>>,
#[serde(rename = "supportsRestartRequest")]
#[serde(default)]
pub supports_restart_request: Option<bool>,
#[serde(rename = "supportsExceptionOptions")]
#[serde(default)]
pub supports_exception_options: Option<bool>,
#[serde(rename = "supportsValueFormattingOptions")]
#[serde(default)]
pub supports_value_formatting_options: Option<bool>,
#[serde(rename = "supportsExceptionInfoRequest")]
#[serde(default)]
pub supports_exception_info_request: Option<bool>,
#[serde(rename = "supportTerminateDebuggee")]
#[serde(default)]
pub support_terminate_debuggee: Option<bool>,
#[serde(rename = "supportSuspendDebuggee")]
#[serde(default)]
pub support_suspend_debuggee: Option<bool>,
#[serde(rename = "supportsDelayedStackTraceLoading")]
#[serde(default)]
pub supports_delayed_stack_trace_loading: Option<bool>,
#[serde(rename = "supportsLoadedSourcesRequest")]
#[serde(default)]
pub supports_loaded_sources_request: Option<bool>,
#[serde(rename = "supportsLogPoints")]
#[serde(default)]
pub supports_log_points: Option<bool>,
#[serde(rename = "supportsTerminateThreadsRequest")]
#[serde(default)]
pub supports_terminate_threads_request: Option<bool>,
#[serde(rename = "supportsSetExpression")]
#[serde(default)]
pub supports_set_expression: Option<bool>,
#[serde(rename = "supportsTerminateRequest")]
#[serde(default)]
pub supports_terminate_request: Option<bool>,
#[serde(rename = "supportsDataBreakpoints")]
#[serde(default)]
pub supports_data_breakpoints: Option<bool>,
#[serde(rename = "supportsReadMemoryRequest")]
#[serde(default)]
pub supports_read_memory_request: Option<bool>,
#[serde(rename = "supportsWriteMemoryRequest")]
#[serde(default)]
pub supports_write_memory_request: Option<bool>,
#[serde(rename = "supportsDisassembleRequest")]
#[serde(default)]
pub supports_disassemble_request: Option<bool>,
#[serde(rename = "supportsCancelRequest")]
#[serde(default)]
pub supports_cancel_request: Option<bool>,
#[serde(rename = "supportsBreakpointLocationsRequest")]
#[serde(default)]
pub supports_breakpoint_locations_request: Option<bool>,
#[serde(rename = "supportsClipboardContext")]
#[serde(default)]
pub supports_clipboard_context: Option<bool>,
#[serde(rename = "supportsSteppingGranularity")]
#[serde(default)]
pub supports_stepping_granularity: Option<bool>,
#[serde(rename = "supportsInstructionBreakpoints")]
#[serde(default)]
pub supports_instruction_breakpoints: Option<bool>,
#[serde(rename = "supportsExceptionFilterOptions")]
#[serde(default)]
pub supports_exception_filter_options: Option<bool>,
#[serde(rename = "supportsSingleThreadExecutionRequests")]
#[serde(default)]
pub supports_single_thread_execution_requests: Option<bool>,
#[serde(rename = "breakpointModes")]
#[serde(default)]
pub breakpoint_modes: Option<Vec<BreakpointMode>>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ExceptionBreakpointsFilter {
#[serde(rename = "filter")]
pub filter: String,
#[serde(rename = "label")]
pub label: String,
#[serde(rename = "description")]
#[serde(default)]
pub description: Option<String>,
#[serde(rename = "default")]
#[serde(default)]
pub default: Option<bool>,
#[serde(rename = "supportsCondition")]
#[serde(default)]
pub supports_condition: Option<bool>,
#[serde(rename = "conditionDescription")]
#[serde(default)]
pub condition_description: Option<String>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct Message {
#[serde(rename = "id")]
pub id: u64,
#[serde(rename = "format")]
pub format: String,
#[serde(rename = "variables")]
#[serde(default)]
pub variables: Option<serde_json::Value>,
#[serde(rename = "sendTelemetry")]
#[serde(default)]
pub send_telemetry: Option<bool>,
#[serde(rename = "showUser")]
#[serde(default)]
pub show_user: Option<bool>,
#[serde(rename = "url")]
#[serde(default)]
pub url: Option<String>,
#[serde(rename = "urlLabel")]
#[serde(default)]
pub url_label: Option<String>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct Module {
#[serde(rename = "id")]
pub id: ModuleId,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "path")]
#[serde(default)]
pub path: Option<String>,
#[serde(rename = "isOptimized")]
#[serde(default)]
pub is_optimized: Option<bool>,
#[serde(rename = "isUserCode")]
#[serde(default)]
pub is_user_code: Option<bool>,
#[serde(rename = "version")]
#[serde(default)]
pub version: Option<String>,
#[serde(rename = "symbolStatus")]
#[serde(default)]
pub symbol_status: Option<String>,
#[serde(rename = "symbolFilePath")]
#[serde(default)]
pub symbol_file_path: Option<String>,
#[serde(rename = "dateTimeStamp")]
#[serde(default)]
pub date_time_stamp: Option<String>,
#[serde(rename = "addressRange")]
#[serde(default)]
pub address_range: Option<String>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ColumnDescriptor {
#[serde(rename = "attributeName")]
pub attribute_name: String,
#[serde(rename = "label")]
pub label: String,
#[serde(rename = "format")]
#[serde(default)]
pub format: Option<String>,
#[serde(rename = "type")]
#[serde(default)]
pub type_: Option<ColumnDescriptorType>,
#[serde(rename = "width")]
#[serde(default)]
pub width: Option<u64>,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Copy, Deserialize, Serialize)]
pub enum ColumnDescriptorType {
#[serde(rename = "string")]
String,
#[serde(rename = "number")]
Number,
#[serde(rename = "boolean")]
Boolean,
#[serde(rename = "unixTimestampUTC")]
UnixTimestampUtc,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct Thread {
#[serde(rename = "id")]
pub id: u64,
#[serde(rename = "name")]
pub name: String,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct Source {
#[serde(rename = "name")]
#[serde(default)]
pub name: Option<String>,
#[serde(rename = "path")]
#[serde(default)]
pub path: Option<String>,
#[serde(rename = "sourceReference")]
#[serde(default)]
pub source_reference: Option<u64>,
#[serde(rename = "presentationHint")]
#[serde(default)]
pub presentation_hint: Option<SourcePresentationHint>,
#[serde(rename = "origin")]
#[serde(default)]
pub origin: Option<String>,
#[serde(rename = "sources")]
#[serde(default)]
pub sources: Option<Vec<Source>>,
#[serde(rename = "adapterData")]
#[serde(default)]
pub adapter_data: Option<serde_json::Value>,
#[serde(rename = "checksums")]
#[serde(default)]
pub checksums: Option<Vec<Checksum>>,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Copy, Deserialize, Serialize)]
pub enum SourcePresentationHint {
#[serde(rename = "normal")]
Normal,
#[serde(rename = "emphasize")]
Emphasize,
#[serde(rename = "deemphasize")]
Deemphasize,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct StackFrame {
#[serde(rename = "id")]
pub id: u64,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "source")]
#[serde(default)]
pub source: Option<Source>,
#[serde(rename = "line")]
pub line: u64,
#[serde(rename = "column")]
pub column: u64,
#[serde(rename = "endLine")]
#[serde(default)]
pub end_line: Option<u64>,
#[serde(rename = "endColumn")]
#[serde(default)]
pub end_column: Option<u64>,
#[serde(rename = "canRestart")]
#[serde(default)]
pub can_restart: Option<bool>,
#[serde(rename = "instructionPointerReference")]
#[serde(default)]
pub instruction_pointer_reference: Option<String>,
#[serde(rename = "moduleId")]
#[serde(default)]
pub module_id: Option<ModuleId>,
#[serde(rename = "presentationHint")]
#[serde(default)]
pub presentation_hint: Option<StackFramePresentationHint>,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Copy, Deserialize, Serialize)]
pub enum StackFramePresentationHint {
#[serde(rename = "normal")]
Normal,
#[serde(rename = "label")]
Label,
#[serde(rename = "subtle")]
Subtle,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct Scope {
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "presentationHint")]
#[serde(default)]
pub presentation_hint: Option<ScopePresentationHint>,
#[serde(rename = "variablesReference")]
pub variables_reference: u64,
#[serde(rename = "namedVariables")]
#[serde(default)]
pub named_variables: Option<u64>,
#[serde(rename = "indexedVariables")]
#[serde(default)]
pub indexed_variables: Option<u64>,
#[serde(rename = "expensive")]
pub expensive: bool,
#[serde(rename = "source")]
#[serde(default)]
pub source: Option<Source>,
#[serde(rename = "line")]
#[serde(default)]
pub line: Option<u64>,
#[serde(rename = "column")]
#[serde(default)]
pub column: Option<u64>,
#[serde(rename = "endLine")]
#[serde(default)]
pub end_line: Option<u64>,
#[serde(rename = "endColumn")]
#[serde(default)]
pub end_column: Option<u64>,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Deserialize, Serialize)]
#[non_exhaustive]
pub enum ScopePresentationHint {
#[serde(rename = "arguments")]
Arguments,
#[serde(rename = "locals")]
Locals,
#[serde(rename = "registers")]
Registers,
#[serde(other)]
Unknown,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct Variable {
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "value")]
pub value: String,
#[serde(rename = "type")]
#[serde(default)]
pub type_: Option<String>,
#[serde(rename = "presentationHint")]
#[serde(default)]
pub presentation_hint: Option<VariablePresentationHint>,
#[serde(rename = "evaluateName")]
#[serde(default)]
pub evaluate_name: Option<String>,
#[serde(rename = "variablesReference")]
pub variables_reference: u64,
#[serde(rename = "namedVariables")]
#[serde(default)]
pub named_variables: Option<u64>,
#[serde(rename = "indexedVariables")]
#[serde(default)]
pub indexed_variables: Option<u64>,
#[serde(rename = "memoryReference")]
#[serde(default)]
pub memory_reference: Option<String>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct VariablePresentationHint {
#[serde(rename = "kind")]
#[serde(default)]
pub kind: Option<VariablePresentationHintKind>,
#[serde(rename = "attributes")]
#[serde(default)]
pub attributes: Option<Vec<VariablePresentationHintAttributes>>,
#[serde(rename = "visibility")]
#[serde(default)]
pub visibility: Option<VariablePresentationHintVisibility>,
#[serde(rename = "lazy")]
#[serde(default)]
pub lazy: Option<bool>,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Deserialize, Serialize)]
#[non_exhaustive]
pub enum VariablePresentationHintKind {
#[serde(rename = "property")]
Property,
#[serde(rename = "method")]
Method,
#[serde(rename = "class")]
Class,
#[serde(rename = "data")]
Data,
#[serde(rename = "event")]
Event,
#[serde(rename = "baseClass")]
BaseClass,
#[serde(rename = "innerClass")]
InnerClass,
#[serde(rename = "interface")]
Interface,
#[serde(rename = "mostDerivedClass")]
MostDerivedClass,
#[serde(rename = "virtual")]
Virtual,
#[serde(rename = "dataBreakpoint")]
DataBreakpoint,
#[serde(other)]
Unknown,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Deserialize, Serialize)]
#[non_exhaustive]
pub enum VariablePresentationHintAttributes {
#[serde(rename = "static")]
Static,
#[serde(rename = "constant")]
Constant,
#[serde(rename = "readOnly")]
ReadOnly,
#[serde(rename = "rawString")]
RawString,
#[serde(rename = "hasObjectId")]
HasObjectId,
#[serde(rename = "canHaveObjectId")]
CanHaveObjectId,
#[serde(rename = "hasSideEffects")]
HasSideEffects,
#[serde(rename = "hasDataBreakpoint")]
HasDataBreakpoint,
#[serde(other)]
Unknown,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Deserialize, Serialize)]
#[non_exhaustive]
pub enum VariablePresentationHintVisibility {
#[serde(rename = "public")]
Public,
#[serde(rename = "private")]
Private,
#[serde(rename = "protected")]
Protected,
#[serde(rename = "internal")]
Internal,
#[serde(rename = "final")]
Final,
#[serde(other)]
Unknown,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct BreakpointLocation {
#[serde(rename = "line")]
pub line: u64,
#[serde(rename = "column")]
#[serde(default)]
pub column: Option<u64>,
#[serde(rename = "endLine")]
#[serde(default)]
pub end_line: Option<u64>,
#[serde(rename = "endColumn")]
#[serde(default)]
pub end_column: Option<u64>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct SourceBreakpoint {
#[serde(rename = "line")]
pub line: u64,
#[serde(rename = "column")]
#[serde(default)]
pub column: Option<u64>,
#[serde(rename = "condition")]
#[serde(default)]
pub condition: Option<String>,
#[serde(rename = "hitCondition")]
#[serde(default)]
pub hit_condition: Option<String>,
#[serde(rename = "logMessage")]
#[serde(default)]
pub log_message: Option<String>,
#[serde(rename = "mode")]
#[serde(default)]
pub mode: Option<String>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct FunctionBreakpoint {
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "condition")]
#[serde(default)]
pub condition: Option<String>,
#[serde(rename = "hitCondition")]
#[serde(default)]
pub hit_condition: Option<String>,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Copy, Deserialize, Serialize)]
pub enum DataBreakpointAccessType {
#[serde(rename = "read")]
Read,
#[serde(rename = "write")]
Write,
#[serde(rename = "readWrite")]
ReadWrite,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct DataBreakpoint {
#[serde(rename = "dataId")]
pub data_id: String,
#[serde(rename = "accessType")]
#[serde(default)]
pub access_type: Option<DataBreakpointAccessType>,
#[serde(rename = "condition")]
#[serde(default)]
pub condition: Option<String>,
#[serde(rename = "hitCondition")]
#[serde(default)]
pub hit_condition: Option<String>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct InstructionBreakpoint {
#[serde(rename = "instructionReference")]
pub instruction_reference: String,
#[serde(rename = "offset")]
#[serde(default)]
pub offset: Option<u64>,
#[serde(rename = "condition")]
#[serde(default)]
pub condition: Option<String>,
#[serde(rename = "hitCondition")]
#[serde(default)]
pub hit_condition: Option<String>,
#[serde(rename = "mode")]
#[serde(default)]
pub mode: Option<String>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct Breakpoint {
#[serde(rename = "id")]
#[serde(default)]
pub id: Option<u64>,
#[serde(rename = "verified")]
pub verified: bool,
#[serde(rename = "message")]
#[serde(default)]
pub message: Option<String>,
#[serde(rename = "source")]
#[serde(default)]
pub source: Option<Source>,
#[serde(rename = "line")]
#[serde(default)]
pub line: Option<u64>,
#[serde(rename = "column")]
#[serde(default)]
pub column: Option<u64>,
#[serde(rename = "endLine")]
#[serde(default)]
pub end_line: Option<u64>,
#[serde(rename = "endColumn")]
#[serde(default)]
pub end_column: Option<u64>,
#[serde(rename = "instructionReference")]
#[serde(default)]
pub instruction_reference: Option<String>,
#[serde(rename = "offset")]
#[serde(default)]
pub offset: Option<u64>,
#[serde(rename = "reason")]
#[serde(default)]
pub reason: Option<BreakpointReason>,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Copy, Deserialize, Serialize)]
pub enum BreakpointReason {
#[serde(rename = "pending")]
Pending,
#[serde(rename = "failed")]
Failed,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Copy, Deserialize, Serialize)]
pub enum SteppingGranularity {
#[serde(rename = "statement")]
Statement,
#[serde(rename = "line")]
Line,
#[serde(rename = "instruction")]
Instruction,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct StepInTarget {
#[serde(rename = "id")]
pub id: u64,
#[serde(rename = "label")]
pub label: String,
#[serde(rename = "line")]
#[serde(default)]
pub line: Option<u64>,
#[serde(rename = "column")]
#[serde(default)]
pub column: Option<u64>,
#[serde(rename = "endLine")]
#[serde(default)]
pub end_line: Option<u64>,
#[serde(rename = "endColumn")]
#[serde(default)]
pub end_column: Option<u64>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct GotoTarget {
#[serde(rename = "id")]
pub id: u64,
#[serde(rename = "label")]
pub label: String,
#[serde(rename = "line")]
pub line: u64,
#[serde(rename = "column")]
#[serde(default)]
pub column: Option<u64>,
#[serde(rename = "endLine")]
#[serde(default)]
pub end_line: Option<u64>,
#[serde(rename = "endColumn")]
#[serde(default)]
pub end_column: Option<u64>,
#[serde(rename = "instructionPointerReference")]
#[serde(default)]
pub instruction_pointer_reference: Option<String>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct CompletionItem {
#[serde(rename = "label")]
pub label: String,
#[serde(rename = "text")]
#[serde(default)]
pub text: Option<String>,
#[serde(rename = "sortText")]
#[serde(default)]
pub sort_text: Option<String>,
#[serde(rename = "detail")]
#[serde(default)]
pub detail: Option<String>,
#[serde(rename = "type")]
#[serde(default)]
pub type_: Option<CompletionItemType>,
#[serde(rename = "start")]
#[serde(default)]
pub start: Option<u64>,
#[serde(rename = "length")]
#[serde(default)]
pub length: Option<u64>,
#[serde(rename = "selectionStart")]
#[serde(default)]
pub selection_start: Option<u64>,
#[serde(rename = "selectionLength")]
#[serde(default)]
pub selection_length: Option<u64>,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Copy, Deserialize, Serialize)]
pub enum CompletionItemType {
#[serde(rename = "method")]
Method,
#[serde(rename = "function")]
Function,
#[serde(rename = "constructor")]
Constructor,
#[serde(rename = "field")]
Field,
#[serde(rename = "variable")]
Variable,
#[serde(rename = "class")]
Class,
#[serde(rename = "interface")]
Interface,
#[serde(rename = "module")]
Module,
#[serde(rename = "property")]
Property,
#[serde(rename = "unit")]
Unit,
#[serde(rename = "value")]
Value,
#[serde(rename = "enum")]
Enum,
#[serde(rename = "keyword")]
Keyword,
#[serde(rename = "snippet")]
Snippet,
#[serde(rename = "text")]
Text,
#[serde(rename = "color")]
Color,
#[serde(rename = "file")]
File,
#[serde(rename = "reference")]
Reference,
#[serde(rename = "customcolor")]
Customcolor,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Copy, Deserialize, Serialize)]
pub enum ChecksumAlgorithm {
#[serde(rename = "MD5")]
Md5,
#[serde(rename = "SHA1")]
Sha1,
#[serde(rename = "SHA256")]
Sha256,
#[serde(rename = "timestamp")]
Timestamp,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct Checksum {
#[serde(rename = "algorithm")]
pub algorithm: ChecksumAlgorithm,
#[serde(rename = "checksum")]
pub checksum: String,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ValueFormat {
#[serde(rename = "hex")]
#[serde(default)]
pub hex: Option<bool>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct StackFrameFormat {
#[serde(rename = "hex")]
#[serde(default)]
pub hex: Option<bool>,
#[serde(rename = "parameters")]
#[serde(default)]
pub parameters: Option<bool>,
#[serde(rename = "parameterTypes")]
#[serde(default)]
pub parameter_types: Option<bool>,
#[serde(rename = "parameterNames")]
#[serde(default)]
pub parameter_names: Option<bool>,
#[serde(rename = "parameterValues")]
#[serde(default)]
pub parameter_values: Option<bool>,
#[serde(rename = "line")]
#[serde(default)]
pub line: Option<bool>,
#[serde(rename = "module")]
#[serde(default)]
pub module: Option<bool>,
#[serde(rename = "includeAll")]
#[serde(default)]
pub include_all: Option<bool>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ExceptionFilterOptions {
#[serde(rename = "filterId")]
pub filter_id: String,
#[serde(rename = "condition")]
#[serde(default)]
pub condition: Option<String>,
#[serde(rename = "mode")]
#[serde(default)]
pub mode: Option<String>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ExceptionOptions {
#[serde(rename = "path")]
#[serde(default)]
pub path: Option<Vec<ExceptionPathSegment>>,
#[serde(rename = "breakMode")]
pub break_mode: ExceptionBreakMode,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Copy, Deserialize, Serialize)]
pub enum ExceptionBreakMode {
#[serde(rename = "never")]
Never,
#[serde(rename = "always")]
Always,
#[serde(rename = "unhandled")]
Unhandled,
#[serde(rename = "userUnhandled")]
UserUnhandled,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ExceptionPathSegment {
#[serde(rename = "negate")]
#[serde(default)]
pub negate: Option<bool>,
#[serde(rename = "names")]
pub names: Vec<String>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ExceptionDetails {
#[serde(rename = "message")]
#[serde(default)]
pub message: Option<String>,
#[serde(rename = "typeName")]
#[serde(default)]
pub type_name: Option<String>,
#[serde(rename = "fullTypeName")]
#[serde(default)]
pub full_type_name: Option<String>,
#[serde(rename = "evaluateName")]
#[serde(default)]
pub evaluate_name: Option<String>,
#[serde(rename = "stackTrace")]
#[serde(default)]
pub stack_trace: Option<String>,
#[serde(rename = "innerException")]
#[serde(default)]
pub inner_exception: Option<Vec<ExceptionDetails>>,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct DisassembledInstruction {
#[serde(rename = "address")]
pub address: String,
#[serde(rename = "instructionBytes")]
#[serde(default)]
pub instruction_bytes: Option<String>,
#[serde(rename = "instruction")]
pub instruction: String,
#[serde(rename = "symbol")]
#[serde(default)]
pub symbol: Option<String>,
#[serde(rename = "location")]
#[serde(default)]
pub location: Option<Source>,
#[serde(rename = "line")]
#[serde(default)]
pub line: Option<u64>,
#[serde(rename = "column")]
#[serde(default)]
pub column: Option<u64>,
#[serde(rename = "endLine")]
#[serde(default)]
pub end_line: Option<u64>,
#[serde(rename = "endColumn")]
#[serde(default)]
pub end_column: Option<u64>,
#[serde(rename = "presentationHint")]
#[serde(default)]
pub presentation_hint: Option<DisassembledInstructionPresentationHint>,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Copy, Deserialize, Serialize)]
pub enum DisassembledInstructionPresentationHint {
#[serde(rename = "normal")]
Normal,
#[serde(rename = "invalid")]
Invalid,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Deserialize, Serialize)]
#[non_exhaustive]
pub enum InvalidatedAreas {
#[serde(rename = "all")]
All,
#[serde(rename = "stacks")]
Stacks,
#[serde(rename = "threads")]
Threads,
#[serde(rename = "variables")]
Variables,
#[serde(other)]
Unknown,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct BreakpointMode {
#[serde(rename = "mode")]
pub mode: String,
#[serde(rename = "label")]
pub label: String,
#[serde(rename = "description")]
#[serde(default)]
pub description: Option<String>,
#[serde(rename = "appliesTo")]
pub applies_to: Vec<BreakpointModeApplicability>,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Deserialize, Serialize)]
#[non_exhaustive]
pub enum BreakpointModeApplicability {
#[serde(rename = "source")]
Source,
#[serde(rename = "exception")]
Exception,
#[serde(rename = "data")]
Data,
#[serde(rename = "instruction")]
Instruction,
#[serde(other)]
Unknown,
}
#[derive(PartialEq, Eq, Debug, Hash, Clone, Deserialize, Serialize)]
#[serde(untagged)]
pub enum ModuleId {
Number(u32),
String(String),
}
#[derive(Debug, Clone, Deserialize, Serialize)]
#[serde(transparent)]
pub struct AttachRequestArguments {
pub raw: serde_json::Value,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
#[serde(transparent)]
pub struct LaunchRequestArguments {
pub raw: serde_json::Value,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
#[serde(transparent)]
pub struct RestartArguments {
pub raw: serde_json::Value,
}