aboutsummaryrefslogtreecommitdiff
path: root/src/event/search_keys.rs
diff options
context:
space:
mode:
authorkrolxon <krolyxon@tutanota.com>2024-06-15 00:06:35 +0530
committerkrolxon <krolyxon@tutanota.com>2024-06-15 00:06:35 +0530
commitf2b90514899af2e55f4fca9ad759029aa7511e0e (patch)
tree67375c06e03fcc7646fd82958c92f742efa8a674 /src/event/search_keys.rs
parent5795d00831da803442d737a928922093e2750aec (diff)
change event to event_handler
Diffstat (limited to 'src/event/search_keys.rs')
-rwxr-xr-xsrc/event/search_keys.rs110
1 files changed, 0 insertions, 110 deletions
diff --git a/src/event/search_keys.rs b/src/event/search_keys.rs
deleted file mode 100755
index db59fa5..0000000
--- a/src/event/search_keys.rs
+++ /dev/null
@@ -1,110 +0,0 @@
-use crate::{
- app::{App, AppResult, SelectedTab},
- ui::InputMode,
-};
-use crossterm::event::{KeyCode, KeyEvent};
-use rust_fuzzy_search::{self, fuzzy_search_sorted};
-
-pub fn handle_search_keys(key_event: KeyEvent, app: &mut App) -> AppResult<()> {
- match app.selected_tab {
- SelectedTab::DirectoryBrowser => {
- let list: Vec<&str> = app
- .browser
- .filetree
- .iter()
- .map(|(_, f)| f.as_str())
- .collect::<Vec<&str>>();
-
- let res: Vec<(&str, f32)> = fuzzy_search_sorted(&app.search_input, &list);
- let res = res.iter().map(|(x, _)| *x).collect::<Vec<&str>>();
-
- for (i, (_, item)) in app.browser.filetree.iter().enumerate() {
- if item.contains(res.first().unwrap()) {
- app.browser.selected = i;
- }
- }
- }
-
- SelectedTab::Queue => {
- let list: Vec<&str> = app
- .queue_list
- .list
- .iter()
- .map(|f| f.file.as_str())
- .collect::<Vec<&str>>();
- let res: Vec<(&str, f32)> = fuzzy_search_sorted(&app.search_input, &list);
- let res = res.iter().map(|(x, _)| *x).collect::<Vec<&str>>();
-
- for (i, item) in app.queue_list.list.iter().enumerate() {
- if item.file.contains(res.first().unwrap()) {
- app.queue_list.index = i;
- }
- }
- }
-
- SelectedTab::Playlists => {
- let list: Vec<&str> = app
- .pl_list
- .list
- .iter()
- .map(|f| f.as_str())
- .collect::<Vec<&str>>();
- let res: Vec<(&str, f32)> = fuzzy_search_sorted(&app.search_input, &list);
- let res = res.iter().map(|(x, _)| *x).collect::<Vec<&str>>();
-
- for (i, item) in app.pl_list.list.iter().enumerate() {
- if item.contains(res.first().unwrap()) {
- app.pl_list.index = i;
- }
- }
- }
- }
-
- // Keybind for searching
- //
- // Keybinds for when the search prompt is visible
- match key_event.code {
- KeyCode::Esc => {
- app.inputmode = InputMode::Normal;
- }
- KeyCode::Char(to_insert) => {
- app.enter_char(to_insert);
- }
- KeyCode::Enter => {
- let list: Vec<&str> = app
- .browser
- .filetree
- .iter()
- .map(|(_, f)| f.as_str())
- .collect::<Vec<&str>>();
-
- let res: Vec<(&str, f32)> = fuzzy_search_sorted(&app.search_input, &list);
- let (res, _) = res.first().unwrap();
-
- for (i, (_, item)) in app.browser.filetree.iter().enumerate() {
- if item.contains(res) {
- app.browser.selected = i;
- }
- }
-
- app.search_input.clear();
- app.reset_cursor();
- app.inputmode = InputMode::Normal;
- }
-
- KeyCode::Backspace => {
- app.delete_char();
- }
-
- KeyCode::Left => {
- app.move_cursor_left();
- }
-
- KeyCode::Right => {
- app.move_cursor_right();
- }
-
- _ => {}
- }
- Ok(())
-}