@@ -4319,8 +4319,14 @@ fn dap_run(cx: &mut Context) {
43194319 use helix_lsp::block_on;
43204320
43214321 if let Some(debugger) = &mut cx.editor.debugger {
4322+ if debugger.is_running {
4323+ cx.editor
4324+ .set_status("Debuggee is already running".to_owned());
4325+ return;
4326+ }
43224327 let request = debugger.configuration_done();
43234328 let _ = block_on(request).unwrap();
4329+ debugger.is_running = true;
43244330 }
43254331}
43264332
@@ -4328,10 +4334,16 @@ fn dap_continue(cx: &mut Context) {
43284334 use helix_lsp::block_on;
43294335
43304336 if let Some(debugger) = &mut cx.editor.debugger {
4337+ if debugger.is_running {
4338+ cx.editor
4339+ .set_status("Debuggee is already running".to_owned());
4340+ return;
4341+ }
43314342 // assume 0 to continue all threads for now
43324343 // FIXME: spec conformant behavior here
43334344 let request = debugger.continue_thread(0);
43344345 let _ = block_on(request).unwrap();
4346+ debugger.is_running = true;
43354347 }
43364348}
43374349