dap: move launch request argumets outside of client
This commit is contained in:
parent
3d64cf8356
commit
6bb653f820
2 changed files with 17 additions and 17 deletions
|
@ -1,4 +1,12 @@
|
|||
use helix_dap::{Client, Result, SourceBreakpoint};
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
struct LaunchArguments {
|
||||
mode: String,
|
||||
program: String,
|
||||
}
|
||||
|
||||
#[tokio::main]
|
||||
pub async fn main() -> Result<()> {
|
||||
|
@ -19,9 +27,15 @@ pub async fn main() -> Result<()> {
|
|||
|
||||
println!("init: {:?}", client.initialize("go".to_owned()).await);
|
||||
println!("caps: {:#?}", client.capabilities());
|
||||
|
||||
let args = LaunchArguments {
|
||||
mode: "exec".to_owned(),
|
||||
program: "/tmp/godebug/main".to_owned(),
|
||||
};
|
||||
|
||||
println!(
|
||||
"launch: {:?}",
|
||||
client.launch("/tmp/godebug/main".to_owned()).await
|
||||
client.launch(serde_json::to_value(args)?).await
|
||||
);
|
||||
|
||||
println!(
|
||||
|
|
|
@ -45,14 +45,6 @@ struct InitializeArguments {
|
|||
supports_invalidated_event: bool,
|
||||
}
|
||||
|
||||
// TODO: split out, as it's a debugger-specific payload not covered by standard
|
||||
#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
struct LaunchArguments {
|
||||
mode: String,
|
||||
program: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct Checksum {
|
||||
|
@ -380,14 +372,8 @@ impl Client {
|
|||
Ok(())
|
||||
}
|
||||
|
||||
pub async fn launch(&mut self, executable: String) -> Result<()> {
|
||||
let args = LaunchArguments {
|
||||
mode: "exec".to_owned(),
|
||||
program: executable,
|
||||
};
|
||||
|
||||
self.request("launch".to_owned(), to_value(args).ok())
|
||||
.await?;
|
||||
pub async fn launch(&mut self, args: Value) -> Result<()> {
|
||||
self.request("launch".to_owned(), Some(args)).await?;
|
||||
|
||||
match self
|
||||
.server_rx
|
||||
|
|
Loading…
Reference in a new issue