From 0cc94cd87a7db287a617b60b0a3f444362cf173c Mon Sep 17 00:00:00 2001 From: Mike <62124625+michaelBelsanti@users.noreply.github.com> Date: Mon, 21 Aug 2023 12:15:45 -0400 Subject: [PATCH] goto_file_impl: use relative path to open file (#7965) Co-authored-by: Michael Davis --- helix-term/src/commands.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs index 07aef95d0..1f88079eb 100644 --- a/helix-term/src/commands.rs +++ b/helix-term/src/commands.rs @@ -1160,6 +1160,10 @@ fn goto_file_impl(cx: &mut Context, action: Action) { let (view, doc) = current_ref!(cx.editor); let text = doc.text(); let selections = doc.selection(view.id); + let rel_path = doc + .relative_path() + .map(|path| path.parent().unwrap().to_path_buf()) + .unwrap_or_default(); let mut paths: Vec<_> = selections .iter() .map(|r| text.slice(r.from()..r.to()).to_string()) @@ -1190,7 +1194,7 @@ fn goto_file_impl(cx: &mut Context, action: Action) { for sel in paths { let p = sel.trim(); if !p.is_empty() { - let path = Path::new(p); + let path = &rel_path.join(p); if path.is_dir() { let picker = ui::file_picker(path.into(), &cx.editor.config()); cx.push_layer(Box::new(overlaid(picker)));