Unnamed repository; edit this file 'description' to name the repository.
fix(dap): guard breakpoint events
| -rw-r--r-- | helix-view/src/handlers/dap.rs | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/helix-view/src/handlers/dap.rs b/helix-view/src/handlers/dap.rs index fe7d4daa..9022ff63 100644 --- a/helix-view/src/handlers/dap.rs +++ b/helix-view/src/handlers/dap.rs @@ -245,17 +245,22 @@ impl Editor { match &reason[..] { "new" => { if let Some(source) = breakpoint.source { - self.breakpoints - .entry(source.path.unwrap()) // TODO: no unwraps - .or_default() - .push(Breakpoint { - id: breakpoint.id, - verified: breakpoint.verified, - message: breakpoint.message, - line: breakpoint.line.unwrap().saturating_sub(1), // TODO: no unwrap - column: breakpoint.column, - ..Default::default() - }); + let Some(path) = source.path else { + warn!("DAP breakpoint event missing source path"); + return false; + }; + let Some(line) = breakpoint.line else { + warn!("DAP breakpoint event missing line"); + return false; + }; + self.breakpoints.entry(path).or_default().push(Breakpoint { + id: breakpoint.id, + verified: breakpoint.verified, + message: breakpoint.message, + line: line.saturating_sub(1), + column: breakpoint.column, + ..Default::default() + }); } } "changed" => { |