diff options
author | Dmitry Sharshakov | 2021-09-06 05:47:54 +0000 |
---|---|---|
committer | Dmitry Sharshakov | 2021-09-06 05:47:54 +0000 |
commit | 507a1f8dd6a7f88b979a09532a14a10eda72867b (patch) | |
tree | bcdcf598102c9f67ee7418756260355269b8f549 /helix-term/src/commands | |
parent | c9cd06e90400969285eb8ecbb4cfb7abeeef59ca (diff) |
Get breakpoint reports from debugger
Diffstat (limited to 'helix-term/src/commands')
-rw-r--r-- | helix-term/src/commands/dap.rs | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/helix-term/src/commands/dap.rs b/helix-term/src/commands/dap.rs index 61b1f438..3fb990c2 100644 --- a/helix-term/src/commands/dap.rs +++ b/helix-term/src/commands/dap.rs @@ -336,10 +336,24 @@ pub fn dap_toggle_breakpoint(cx: &mut Context) { None => return, }; let request = debugger.set_breakpoints(path, breakpoints); - if let Err(e) = block_on(request) { - cx.editor - .set_error(format!("Failed to set breakpoints: {:?}", e)); - } + match block_on(request) { + Ok(Some(breakpoints)) => { + let old_breakpoints = debugger.breakpoints.clone(); + debugger.breakpoints = breakpoints.clone(); + for bp in breakpoints { + if !old_breakpoints.iter().any(|b| b.message == bp.message) { + if let Some(msg) = &bp.message { + cx.editor.set_status(format!("Breakpoint set: {}", msg)); + break; + } + } + } + } + Err(e) => cx + .editor + .set_error(format!("Failed to set breakpoints: {:?}", e)), + _ => {} + }; } pub fn dap_continue(cx: &mut Context) { |