goto_file_impl: use relative path to open file (#7965)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
This commit is contained in:
parent
75342968e2
commit
0cc94cd87a
1 changed files with 5 additions and 1 deletions
|
@ -1160,6 +1160,10 @@ fn goto_file_impl(cx: &mut Context, action: Action) {
|
||||||
let (view, doc) = current_ref!(cx.editor);
|
let (view, doc) = current_ref!(cx.editor);
|
||||||
let text = doc.text();
|
let text = doc.text();
|
||||||
let selections = doc.selection(view.id);
|
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
|
let mut paths: Vec<_> = selections
|
||||||
.iter()
|
.iter()
|
||||||
.map(|r| text.slice(r.from()..r.to()).to_string())
|
.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 {
|
for sel in paths {
|
||||||
let p = sel.trim();
|
let p = sel.trim();
|
||||||
if !p.is_empty() {
|
if !p.is_empty() {
|
||||||
let path = Path::new(p);
|
let path = &rel_path.join(p);
|
||||||
if path.is_dir() {
|
if path.is_dir() {
|
||||||
let picker = ui::file_picker(path.into(), &cx.editor.config());
|
let picker = ui::file_picker(path.into(), &cx.editor.config());
|
||||||
cx.push_layer(Box::new(overlaid(picker)));
|
cx.push_layer(Box::new(overlaid(picker)));
|
||||||
|
|
Loading…
Add table
Reference in a new issue