From 573cb399261f9ab8f799dcf82a40220dcc6539e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bla=C5=BE=20Hrastnik?= Date: Thu, 2 Dec 2021 10:20:19 +0900 Subject: [PATCH] dap: Remove some unwraps --- helix-term/src/application.rs | 26 ++++++++++++++------------ helix-term/src/commands/dap.rs | 7 ++++--- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/helix-term/src/application.rs b/helix-term/src/application.rs index 3d6d00fe..b6753ec5 100644 --- a/helix-term/src/application.rs +++ b/helix-term/src/application.rs @@ -388,18 +388,20 @@ impl Application { } Event::Breakpoint(events::Breakpoint { reason, breakpoint }) => match &reason[..] { "new" => { - self.editor - .breakpoints - .entry(breakpoint.source.unwrap().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() - }); + if let Some(source) = breakpoint.source { + self.editor + .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() + }); + } } "changed" => { for breakpoints in self.editor.breakpoints.values_mut() { diff --git a/helix-term/src/commands/dap.rs b/helix-term/src/commands/dap.rs index 1cb5a35a..00305fe2 100644 --- a/helix-term/src/commands/dap.rs +++ b/helix-term/src/commands/dap.rs @@ -78,9 +78,10 @@ pub fn jump_to_stack_frame(editor: &mut Editor, frame: &helix_dap::StackFrame) { return; }; - editor - .open(path, helix_view::editor::Action::Replace) - .unwrap(); // TODO: there should be no unwrapping! + if let Err(e) = editor.open(path, helix_view::editor::Action::Replace) { + editor.set_error(format!("Unable to jump to stack frame: {}", e)); + return; + } let (view, doc) = current!(editor);