aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Sharshakov2021-09-03 20:11:06 +0000
committerDmitry Sharshakov2021-09-03 20:11:06 +0000
commitcf7237d0b920eeb7d887c192bc46c44990cc9b68 (patch)
tree8f4081775dabcbce34c6ceb7e2f4e34cd560a6a5
parentc63ad60c31cb51481b227c1d610d3eb7b2f95529 (diff)
compat: make thread IDs signed
Delve needs it
-rw-r--r--helix-dap/src/client.rs18
-rw-r--r--helix-dap/src/types.rs20
-rw-r--r--helix-term/src/commands/dap.rs2
3 files changed, 20 insertions, 20 deletions
diff --git a/helix-dap/src/client.rs b/helix-dap/src/client.rs
index 9f274002..e1791cd1 100644
--- a/helix-dap/src/client.rs
+++ b/helix-dap/src/client.rs
@@ -28,9 +28,9 @@ pub struct Client {
request_counter: AtomicU64,
pub caps: Option<DebuggerCapabilities>,
// thread_id -> frames
- pub stack_frames: HashMap<usize, Vec<StackFrame>>,
- pub thread_states: HashMap<usize, String>,
- pub thread_id: Option<usize>,
+ pub stack_frames: HashMap<isize, Vec<StackFrame>>,
+ pub thread_states: HashMap<isize, String>,
+ pub thread_id: Option<isize>,
/// Currently active frame for the current thread.
pub active_frame: Option<usize>,
}
@@ -298,7 +298,7 @@ impl Client {
self.request::<requests::ConfigurationDone>(()).await
}
- pub async fn continue_thread(&mut self, thread_id: usize) -> Result<Option<bool>> {
+ pub async fn continue_thread(&mut self, thread_id: isize) -> Result<Option<bool>> {
let args = requests::ContinueArguments { thread_id };
let response = self.request::<requests::Continue>(args).await?;
@@ -307,7 +307,7 @@ impl Client {
pub async fn stack_trace(
&mut self,
- thread_id: usize,
+ thread_id: isize,
) -> Result<(Vec<StackFrame>, Option<usize>)> {
let args = requests::StackTraceArguments {
thread_id,
@@ -345,7 +345,7 @@ impl Client {
Ok(response.variables)
}
- pub async fn step_in(&mut self, thread_id: usize) -> Result<()> {
+ pub async fn step_in(&mut self, thread_id: isize) -> Result<()> {
let args = requests::StepInArguments {
thread_id,
target_id: None,
@@ -355,7 +355,7 @@ impl Client {
self.request::<requests::StepIn>(args).await
}
- pub async fn step_out(&mut self, thread_id: usize) -> Result<()> {
+ pub async fn step_out(&mut self, thread_id: isize) -> Result<()> {
let args = requests::StepOutArguments {
thread_id,
granularity: None,
@@ -364,7 +364,7 @@ impl Client {
self.request::<requests::StepOut>(args).await
}
- pub async fn next(&mut self, thread_id: usize) -> Result<()> {
+ pub async fn next(&mut self, thread_id: isize) -> Result<()> {
let args = requests::NextArguments {
thread_id,
granularity: None,
@@ -373,7 +373,7 @@ impl Client {
self.request::<requests::Next>(args).await
}
- pub async fn pause(&mut self, thread_id: usize) -> Result<()> {
+ pub async fn pause(&mut self, thread_id: isize) -> Result<()> {
let args = requests::PauseArguments { thread_id };
self.request::<requests::Pause>(args).await
diff --git a/helix-dap/src/types.rs b/helix-dap/src/types.rs
index c1781243..3af29922 100644
--- a/helix-dap/src/types.rs
+++ b/helix-dap/src/types.rs
@@ -157,7 +157,7 @@ pub struct StackFrame {
#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct Thread {
- pub id: usize,
+ pub id: isize,
pub name: String,
}
@@ -317,7 +317,7 @@ pub mod requests {
#[derive(Debug, Default, PartialEq, Clone, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct ContinueArguments {
- pub thread_id: usize,
+ pub thread_id: isize,
}
#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
@@ -338,7 +338,7 @@ pub mod requests {
#[derive(Debug, Default, PartialEq, Clone, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct StackTraceArguments {
- pub thread_id: usize,
+ pub thread_id: isize,
pub start_frame: Option<usize>,
pub levels: Option<usize>,
pub format: Option<StackFrameFormat>,
@@ -424,7 +424,7 @@ pub mod requests {
#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct StepInArguments {
- pub thread_id: usize,
+ pub thread_id: isize,
pub target_id: Option<usize>,
pub granularity: Option<String>,
}
@@ -441,7 +441,7 @@ pub mod requests {
#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct StepOutArguments {
- pub thread_id: usize,
+ pub thread_id: isize,
pub granularity: Option<String>,
}
@@ -457,7 +457,7 @@ pub mod requests {
#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct NextArguments {
- pub thread_id: usize,
+ pub thread_id: isize,
pub granularity: Option<String>,
}
@@ -473,7 +473,7 @@ pub mod requests {
#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct PauseArguments {
- pub thread_id: usize,
+ pub thread_id: isize,
}
#[derive(Debug)]
@@ -551,7 +551,7 @@ pub mod events {
pub struct Stopped {
pub reason: String,
pub description: Option<String>,
- pub thread_id: Option<usize>,
+ pub thread_id: Option<isize>,
pub preserve_focus_hint: Option<bool>,
pub text: Option<String>,
pub all_threads_stopped: Option<bool>,
@@ -561,7 +561,7 @@ pub mod events {
#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct Continued {
- pub thread_id: usize,
+ pub thread_id: isize,
pub all_threads_continued: Option<bool>,
}
@@ -581,7 +581,7 @@ pub mod events {
#[serde(rename_all = "camelCase")]
pub struct Thread {
pub reason: String,
- pub thread_id: usize,
+ pub thread_id: isize,
}
#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
diff --git a/helix-term/src/commands/dap.rs b/helix-term/src/commands/dap.rs
index 6b9b06b2..082e2c7a 100644
--- a/helix-term/src/commands/dap.rs
+++ b/helix-term/src/commands/dap.rs
@@ -29,7 +29,7 @@ pub fn resume_application(debugger: &mut Client) {
debugger.thread_id = None;
}
-pub async fn select_thread_id(editor: &mut Editor, thread_id: usize, force: bool) {
+pub async fn select_thread_id(editor: &mut Editor, thread_id: isize, force: bool) {
let debugger = match &mut editor.debugger {
Some(debugger) => debugger,
None => return,