dap: support stepIn, stepOut, next and pause commands
This commit is contained in:
parent
28658836ee
commit
dfc70a12f3
2 changed files with 100 additions and 0 deletions
|
@ -316,4 +316,40 @@ impl Client {
|
|||
let response = self.request::<requests::Variables>(args).await?;
|
||||
Ok(response.variables)
|
||||
}
|
||||
|
||||
pub async fn step_in(&mut self, thread_id: usize) -> Result<()> {
|
||||
let args = requests::StepInArguments {
|
||||
thread_id,
|
||||
target_id: None,
|
||||
granularity: None,
|
||||
};
|
||||
|
||||
self.request::<requests::StepIn>(args).await
|
||||
}
|
||||
|
||||
pub async fn step_out(&mut self, thread_id: usize) -> Result<()> {
|
||||
let args = requests::StepOutArguments {
|
||||
thread_id,
|
||||
granularity: None,
|
||||
};
|
||||
|
||||
self.request::<requests::StepOut>(args).await
|
||||
}
|
||||
|
||||
pub async fn next(&mut self, thread_id: usize) -> Result<()> {
|
||||
let args = requests::NextArguments {
|
||||
thread_id,
|
||||
granularity: None,
|
||||
};
|
||||
|
||||
self.request::<requests::Next>(args).await
|
||||
}
|
||||
|
||||
pub async fn pause(&mut self, thread_id: usize) -> Result<()> {
|
||||
let args = requests::PauseArguments {
|
||||
thread_id,
|
||||
};
|
||||
|
||||
self.request::<requests::Pause>(args).await
|
||||
}
|
||||
}
|
||||
|
|
|
@ -420,6 +420,70 @@ pub mod requests {
|
|||
type Result = VariablesResponse;
|
||||
const COMMAND: &'static str = "variables";
|
||||
}
|
||||
|
||||
#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct StepInArguments {
|
||||
pub thread_id: usize,
|
||||
pub target_id: Option<usize>,
|
||||
pub granularity: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub enum StepIn {}
|
||||
|
||||
impl Request for StepIn {
|
||||
type Arguments = StepInArguments;
|
||||
type Result = ();
|
||||
const COMMAND: &'static str = "stepIn";
|
||||
}
|
||||
|
||||
#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct StepOutArguments {
|
||||
pub thread_id: usize,
|
||||
pub granularity: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub enum StepOut {}
|
||||
|
||||
impl Request for StepOut {
|
||||
type Arguments = StepOutArguments;
|
||||
type Result = ();
|
||||
const COMMAND: &'static str = "stepOut";
|
||||
}
|
||||
|
||||
#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct NextArguments {
|
||||
pub thread_id: usize,
|
||||
pub granularity: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub enum Next {}
|
||||
|
||||
impl Request for Next {
|
||||
type Arguments = NextArguments;
|
||||
type Result = ();
|
||||
const COMMAND: &'static str = "next";
|
||||
}
|
||||
|
||||
#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct PauseArguments {
|
||||
pub thread_id: usize,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub enum Pause {}
|
||||
|
||||
impl Request for Pause {
|
||||
type Arguments = PauseArguments;
|
||||
type Result = ();
|
||||
const COMMAND: &'static str = "pause";
|
||||
}
|
||||
}
|
||||
|
||||
// Events
|
||||
|
|
Loading…
Add table
Reference in a new issue