mirror of
https://github.com/ChrisTitusTech/linutil.git
synced 2024-12-24 12:29:44 +00:00
Merge pull request #135 from lj3954/improved_navigation
feat: Allow navigation with 'h' and 'l' keys
This commit is contained in:
commit
a7208e8662
20
src/list.rs
20
src/list.rs
|
@ -356,7 +356,15 @@ impl CustomList {
|
|||
self.toggle_preview_window(state);
|
||||
None
|
||||
}
|
||||
KeyCode::Enter if self.preview_window_state.is_none() => self.handle_enter(),
|
||||
|
||||
KeyCode::Enter | KeyCode::Right | KeyCode::Char('l') => {
|
||||
if self.preview_window_state.is_none() {
|
||||
self.handle_enter()
|
||||
} else {
|
||||
None
|
||||
}
|
||||
}
|
||||
KeyCode::Left | KeyCode::Char('h') if !self.at_root() => self.enter_parent_directory(),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
@ -452,6 +460,12 @@ impl CustomList {
|
|||
None
|
||||
}
|
||||
|
||||
fn enter_parent_directory(&mut self) -> Option<Command> {
|
||||
self.visit_stack.pop();
|
||||
self.list_state.select(Some(0));
|
||||
None
|
||||
}
|
||||
|
||||
/// Handles the <Enter> key. This key can do 3 things:
|
||||
/// - Run a command, if it is the currently selected item,
|
||||
/// - Go up a directory
|
||||
|
@ -469,9 +483,7 @@ impl CustomList {
|
|||
.unwrap();
|
||||
|
||||
if !self.at_root() && selected_index == 0 {
|
||||
self.visit_stack.pop();
|
||||
self.list_state.select(Some(0));
|
||||
return None;
|
||||
return self.enter_parent_directory();
|
||||
}
|
||||
|
||||
let mut actual_index = selected_index;
|
||||
|
|
Loading…
Reference in New Issue
Block a user