diff --git a/helix-dap/src/client.rs b/helix-dap/src/client.rs index 080061cff..333b18a0e 100644 --- a/helix-dap/src/client.rs +++ b/helix-dap/src/client.rs @@ -505,12 +505,7 @@ fn next_request_id(&self) -> u64 { self.request_counter.fetch_add(1, Ordering::Relaxed) } - async fn request( - &self, - command: String, - arguments: Option, - response: bool, - ) -> Result> { + async fn request(&self, command: String, arguments: Option) -> Result { let (callback_rx, mut callback_tx) = channel(1); let req = Request { @@ -524,11 +519,7 @@ async fn request( .send(req) .expect("Failed to send request to debugger"); - if response { - Ok(Some(callback_tx.recv().await.unwrap()?)) - } else { - Ok(None) - } + Ok(callback_tx.recv().await.unwrap()?) } pub fn capabilities(&self) -> &DebuggerCapabilities { @@ -555,23 +546,22 @@ pub async fn initialize(&mut self, adapter_id: String) -> Result<()> { }; let response = self - .request("initialize".to_owned(), to_value(args).ok(), true) - .await? - .unwrap(); + .request("initialize".to_owned(), to_value(args).ok()) + .await?; self.capabilities = from_value(response.body.unwrap()).ok(); Ok(()) } pub async fn disconnect(&mut self) -> Result<()> { - self.request("disconnect".to_owned(), None, true).await?; + self.request("disconnect".to_owned(), None).await?; Ok(()) } pub async fn launch(&mut self, args: impl Serialize) -> Result<()> { let mut initialized = self.listen_for_event("initialized".to_owned()).await; - let res = self.request("launch".to_owned(), to_value(args).ok(), true); + let res = self.request("launch".to_owned(), to_value(args).ok()); let ev = initialized.recv(); join!(res, ev).0?; @@ -581,7 +571,7 @@ pub async fn launch(&mut self, args: impl Serialize) -> Result<()> { pub async fn attach(&mut self, args: impl Serialize) -> Result<()> { let mut initialized = self.listen_for_event("initialized".to_owned()).await; - let res = self.request("attach".to_owned(), to_value(args).ok(), false); + let res = self.request("attach".to_owned(), to_value(args).ok()); let ev = initialized.recv(); join!(res, ev).0?; @@ -609,17 +599,15 @@ pub async fn set_breakpoints( }; let response = self - .request("setBreakpoints".to_owned(), to_value(args).ok(), true) - .await? - .unwrap(); + .request("setBreakpoints".to_owned(), to_value(args).ok()) + .await?; let body: Option = from_value(response.body.unwrap()).ok(); Ok(body.map(|b| b.breakpoints).unwrap()) } pub async fn configuration_done(&mut self) -> Result<()> { - self.request("configurationDone".to_owned(), None, true) - .await?; + self.request("configurationDone".to_owned(), None).await?; Ok(()) } @@ -627,9 +615,8 @@ pub async fn continue_thread(&mut self, thread_id: usize) -> Result let args = ContinueArguments { thread_id }; let response = self - .request("continue".to_owned(), to_value(args).ok(), true) - .await? - .unwrap(); + .request("continue".to_owned(), to_value(args).ok()) + .await?; let body: Option = from_value(response.body.unwrap()).ok(); @@ -648,9 +635,8 @@ pub async fn stack_trace( }; let response = self - .request("stackTrace".to_owned(), to_value(args).ok(), true) - .await? - .unwrap(); + .request("stackTrace".to_owned(), to_value(args).ok()) + .await?; let body: StackTraceResponseBody = from_value(response.body.unwrap()).unwrap(); @@ -658,10 +644,7 @@ pub async fn stack_trace( } pub async fn threads(&mut self) -> Result> { - let response = self - .request("threads".to_owned(), None, true) - .await? - .unwrap(); + let response = self.request("threads".to_owned(), None).await?; let body: ThreadsResponseBody = from_value(response.body.unwrap()).unwrap(); @@ -672,9 +655,8 @@ pub async fn scopes(&mut self, frame_id: usize) -> Result> { let args = ScopesArguments { frame_id }; let response = self - .request("scopes".to_owned(), to_value(args).ok(), true) - .await? - .unwrap(); + .request("scopes".to_owned(), to_value(args).ok()) + .await?; let body: ScopesResponseBody = from_value(response.body.unwrap()).unwrap(); @@ -691,9 +673,8 @@ pub async fn variables(&mut self, variables_reference: usize) -> Result