diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs index 7d3fafe6..0a8fb99b 100644 --- a/helix-term/src/commands.rs +++ b/helix-term/src/commands.rs @@ -24,6 +24,7 @@ use helix_lsp::{ }; use insert::*; use movement::Movement; +use serde_json::Value; use crate::{ compositor::{self, Component, Compositor}, @@ -4454,7 +4455,7 @@ fn dap_start_impl(editor: &mut Editor, name: Option<&str>, params: Option = HashMap::new(); if let Some(params) = params { for (k, t) in template { @@ -4464,7 +4465,11 @@ fn dap_start_impl(editor: &mut Editor, name: Option<&str>, params: Option() { + args.insert(k, Value::Number(serde_json::Number::from(integer))); + } else { + args.insert(k, Value::String(value)); + } } } diff --git a/languages.toml b/languages.toml index 291202c1..83d45e34 100644 --- a/languages.toml +++ b/languages.toml @@ -32,6 +32,11 @@ name = "binary" request = "launch" args = { console = "internalConsole", program = "{0}" } +[[language.debugger.templates]] +name = "attach" +request = "attach" +args = { console = "internalConsole", pid = "{0}" } + [[language]] name = "toml" scope = "source.toml" @@ -94,6 +99,11 @@ name = "binary" request = "launch" args = { console = "internalConsole", program = "main" } +[[language.debugger.templates]] +name = "attach" +request = "attach" +args = { console = "internalConsole", pid = "{0}" } + [[language]] name = "cpp" scope = "source.cpp" @@ -117,6 +127,11 @@ name = "binary" request = "launch" args = { console = "internalConsole", program = "main" } +[[language.debugger.templates]] +name = "attach" +request = "attach" +args = { console = "internalConsole", pid = "{0}" } + [[language]] name = "go" scope = "source.go" @@ -152,6 +167,11 @@ name = "test" request = "launch" args = { mode = "test", program = "{0}" } +[[language.debugger.templates]] +name = "attach" +request = "attach" +args = { mode = "local", processId = "{0}" } + [[language]] name = "javascript" scope = "source.js"