feat: use hjkl for explorer Normal navigation

This commit is contained in:
Valdemar Lorenzen
2026-10-08 16:29:33 +02:00
parent 5b8e5fbfbf
commit 49242bb6e4
6 changed files with 190 additions and 35 deletions
+23
View File
@@ -507,6 +507,18 @@ impl FilePicker {
let Some(row) = self.rows.get(self.selected) else {
return;
};
if self.searching {
if self
.rows
.get(self.selected + 1)
.is_some_and(|child| child.depth > row.depth)
{
self.selected += 1;
}
self.filtered_selection[self.view.index()] = self.selected_node();
self.clear_error();
return;
}
if !self.nodes[row.node].is_dir {
return;
}
@@ -532,6 +544,17 @@ impl FilePicker {
let Some(row) = self.rows.get(self.selected) else {
return;
};
if self.searching {
if let Some(parent) = row.tree.and_then(|tree| self.tree[tree].parent) {
let node = self.tree[parent].node;
if let Some(index) = self.rows.iter().position(|row| row.node == node) {
self.selected = index;
}
}
self.filtered_selection[self.view.index()] = self.selected_node();
self.clear_error();
return;
}
if row.expanded {
let node = row.node;
let tree = row.tree.expect("directory navigation is tree-only");