@@ -45,14 +45,6 @@ struct InitializeArguments {
45 supports_invalidated_event: bool,
45 supports_invalidated_event: bool,
48−// TODO: split out, as it's a debugger-specific payload not covered by standard
49−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
50−#[serde(rename_all = "camelCase")]
51−struct LaunchArguments {
56#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
48#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
57#[serde(rename_all = "camelCase")]
49#[serde(rename_all = "camelCase")]
58pub struct Checksum {
50pub struct Checksum {
@@ -380,14 +372,8 @@ impl Client {
383− pub async fn launch(&mut self, executable: String) -> Result<()> {
375+ pub async fn launch(&mut self, args: Value) -> Result<()> {
384− let args = LaunchArguments {
385− mode: "exec".to_owned(),
386− program: executable,
389− self.request("launch".to_owned(), to_value(args).ok())
376+ self.request("launch".to_owned(), Some(args)).await?;
392 match self
378 match self
393 .server_rx
379 .server_rx