feat: use hjkl for explorer Normal navigation
This commit is contained in:
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user