diff options
author | qkzk <qu3nt1n@gmail.com> | 2023-11-09 21:49:35 +0100 |
---|---|---|
committer | qkzk <qu3nt1n@gmail.com> | 2023-11-09 21:49:35 +0100 |
commit | 77dc7c93cc17b68e87c02e9d4ea3c164f2bd6780 (patch) | |
tree | 995d35a43919de89c3dad2abd8713a52ec45218f /src/event_exec.rs | |
parent | 9b847e37543f4e610fe238ff90a23799287e84c8 (diff) |
improve search in tree. Far from perfect
Diffstat (limited to 'src/event_exec.rs')
-rw-r--r-- | src/event_exec.rs | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/src/event_exec.rs b/src/event_exec.rs index 5514ccf..4ca457e 100644 --- a/src/event_exec.rs +++ b/src/event_exec.rs @@ -471,12 +471,12 @@ impl EventAction { pub fn search_next(status: &mut Status) -> Result<()> { let tab = status.selected(); + let Some(searched) = tab.searched.clone() else { + return Ok(()); + }; match tab.mode { - Mode::Tree => (), + Mode::Tree => tab.tree.search_first_match(&searched), _ => { - let Some(searched) = tab.searched.clone() else { - return Ok(()); - }; let next_index = (tab.path_content.index + 1) % tab.path_content.content.len(); tab.search_from(&searched, next_index); status.update_second_pane_for_preview()?; @@ -1381,16 +1381,8 @@ impl LeaveMode { tab.searched = Some(searched.clone()); match tab.previous_mode { Mode::Tree => { + log::info!("searching in tree"); tab.tree.search_first_match(searched); - // tab.directory.tree.unselect_children(); - // if let Some(position) = tab.directory.tree.select_first_match(&searched) { - // tab.directory.tree.position = position; - // (_, _, tab.directory.tree.current_node) = - // tab.directory.tree.select_from_position()?; - // } else { - // tab.directory.tree.select_root() - // }; - // tab.directory.make_preview(); } _ => { let next_index = tab.path_content.index; |