diff options
Diffstat (limited to 'helix-term')
-rw-r--r-- | helix-term/src/commands.rs | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs index 3b8e1022..9ecc5bfe 100644 --- a/helix-term/src/commands.rs +++ b/helix-term/src/commands.rs @@ -4368,9 +4368,24 @@ fn dap_start(cx: &mut Context) { let request = debugger.initialize("go".to_owned()); let _ = block_on(request).unwrap(); - let mut args = HashMap::new(); - args.insert("mode", "debug"); - args.insert("program", "main.go"); + let sessions = cx + .editor + .syn_loader + .language_config_for_file_name(&path) + .and_then(|x| x.debug_configs.clone()); + + let sessions = match sessions { + Some(c) => c, + None => { + cx.editor.set_error( + "Can't start debug: no debug sessions available for language".to_string(), + ); + return; + } + }; + + // TODO: picker + let args = sessions.get(0); let request = debugger.launch(to_value(args).unwrap()); let _ = block_on(request).unwrap(); |