diff --git a/helix-term/src/ui/mod.rs b/helix-term/src/ui/mod.rs index ae06013b5..62c9fb912 100644 --- a/helix-term/src/ui/mod.rs +++ b/helix-term/src/ui/mod.rs @@ -267,6 +267,7 @@ pub fn file_picker(root: PathBuf, config: &helix_view::editor::Config) -> FilePi } pub fn file_browser(root: PathBuf) -> Result { + let root = root.canonicalize()?; let directory_content = directory_content(&root)?; let columns = [PickerColumn::new( @@ -324,8 +325,15 @@ fn directory_content(path: &Path) -> Result, std::io::Error> { } dirs.sort(); files.sort(); - dirs.extend(files); - Ok(dirs) + + let mut content = Vec::new(); + if path.parent().is_some() { + log::warn!("{}", path.to_string_lossy()); + content.insert(0, path.join("..")); + } + content.extend(dirs); + content.extend(files); + Ok(content) } pub mod completers {