From ea756cf3529705c1af3b26d42090f227a902e77c Mon Sep 17 00:00:00 2001 From: Tim Oram Date: Mon, 19 Feb 2024 21:10:28 -0330 Subject: Remove closure requirement for select --- src/components/help.rs | 4 ++-- src/modules/error.rs | 4 ++-- src/modules/list.rs | 28 ++++++++++++++-------------- src/modules/show_commit.rs | 12 ++++++------ src/util.rs | 10 +++++----- 5 files changed, 29 insertions(+), 29 deletions(-) diff --git a/src/components/help.rs b/src/components/help.rs index 59f5a59..2402ff0 100644 --- a/src/components/help.rs +++ b/src/components/help.rs @@ -91,14 +91,14 @@ impl Help { pub(crate) fn handle_event(&mut self, event: Event, view_state: &crate::view::State) -> Option { self.is_active().then(|| { select!( - default || { + default { match event { Event::Key(_) | Event::Standard(StandardEvent::Help) => self.active = false, _ => {}, } Results::new() }, - || handle_view_data_scroll(event, view_state) + handle_view_data_scroll(event, view_state) ) }) } diff --git a/src/modules/error.rs b/src/modules/error.rs index 235f032..d6f1ff8 100644 --- a/src/modules/error.rs +++ b/src/modules/error.rs @@ -36,14 +36,14 @@ impl Module for Error { fn handle_event(&mut self, event: Event, view_state: &crate::view::State) -> Results { select!( - default || { + default { let mut results = Results::new(); if let Event::Key(_) = event { results.state(self.return_state); } results }, - || handle_view_data_scroll(event, view_state) + handle_view_data_scroll(event, view_state) ) } diff --git a/src/modules/list.rs b/src/modules/list.rs index 8b56b45..e100535 100644 --- a/src/modules/list.rs +++ b/src/modules/list.rs @@ -110,36 +110,36 @@ impl Module for List { fn handle_event(&mut self, event: Event, view_state: &crate::view::State) -> Results { select!( - default || { + default { match self.state { ListState::Normal => self.handle_normal_mode_event(event, view_state), ListState::Visual => self.handle_visual_mode_input(event, view_state), ListState::Edit => self.handle_edit_mode_input(event), } }, - || self.normal_mode_help.handle_event(event, view_state), - || self.visual_mode_help.handle_event(event, view_state), - || self.handle_search_input(event) + self.normal_mode_help.handle_event(event, view_state), + self.visual_mode_help.handle_event(event, view_state), + self.handle_search_input(event) ) } fn input_options(&self) -> &InputOptions { select!( - default || &INPUT_OPTIONS, - || (self.state == ListState::Edit).then(|| self.edit.input_options()), - || self.normal_mode_help.input_options(), - || self.visual_mode_help.input_options(), - || self.search_bar.input_options() + default & INPUT_OPTIONS, + (self.state == ListState::Edit).then(|| self.edit.input_options()), + self.normal_mode_help.input_options(), + self.visual_mode_help.input_options(), + self.search_bar.input_options() ) } fn read_event(&self, event: Event, key_bindings: &KeyBindings) -> Event { select!( - default || self.read_event_default(event, key_bindings), - || (self.state == ListState::Edit).then_some(event), - || self.normal_mode_help.read_event(event), - || self.visual_mode_help.read_event(event), - || self.search_bar.read_event(event) + default self.read_event_default(event, key_bindings), + (self.state == ListState::Edit).then_some(event), + self.normal_mode_help.read_event(event), + self.visual_mode_help.read_event(event), + self.search_bar.read_event(event) ) } } diff --git a/src/modules/show_commit.rs b/src/modules/show_commit.rs index 64673ed..f04b2b0 100644 --- a/src/modules/show_commit.rs +++ b/src/modules/show_commit.rs @@ -119,25 +119,25 @@ impl Module for ShowCommit { } fn input_options(&self) -> &InputOptions { - select!(default || &INPUT_OPTIONS, || self.help.input_options()) + select!(default & INPUT_OPTIONS, self.help.input_options()) } fn read_event(&self, event: Event, key_bindings: &KeyBindings) -> Event { select!( - default || { + default { key_bindings .show_diff .contains(&event) .then(|| Event::from(StandardEvent::ShowDiff)) .unwrap_or(event) }, - || { self.help.read_event(event) } + self.help.read_event(event) ) } fn handle_event(&mut self, event: Event, view_state: &crate::view::State) -> Results { select!( - default || { + default { let mut results = Results::new(); let active_view_data = match self.state { @@ -168,8 +168,8 @@ impl Module for ShowCommit { } results }, - || self.help.handle_event(event, view_state), - || handle_view_data_scroll(event, view_state) + self.help.handle_event(event, view_state), + handle_view_data_scroll(event, view_state) ) } } diff --git a/src/util.rs b/src/util.rs index 1eb20ec..8fd5121 100644 --- a/src/util.rs +++ b/src/util.rs @@ -6,22 +6,22 @@ use crate::{ #[macro_export] macro_rules! select { (default $default: expr, $first: expr) => { - if let Some(value) = $first() { + if let Some(value) = $first { value } else { - $default() + $default } }; (default $default: expr, $first: expr, $($arg:expr),*) => { - if let Some(value) = $first() { + if let Some(value) = $first { value } - $(else if let Some(value) = $arg() { + $(else if let Some(value) = $arg { value })* else { - $default() + $default } }; } -- cgit v1.2.3