diff options
-rw-r--r-- | src/interactive/widgets/main.rs | 12 | ||||
-rw-r--r-- | src/interactive/widgets/mark.rs | 6 | ||||
-rw-r--r-- | src/main.rs | 1 |
3 files changed, 6 insertions, 13 deletions
diff --git a/src/interactive/widgets/main.rs b/src/interactive/widgets/main.rs index 64755c9..cce01c0 100644 --- a/src/interactive/widgets/main.rs +++ b/src/interactive/widgets/main.rs @@ -118,11 +118,7 @@ impl MainWindow { if let Some((help_area, pane)) = help_pane { let props = HelpPaneProps { border_style: help_style, - has_focus: if let Help = state.focussed { - true - } else { - false - }, + has_focus: matches!(state.focussed, Help), }; pane.render(props, help_area, buf); } @@ -136,11 +132,7 @@ impl MainWindow { marked, selected: state.selected, border_style: entries_style, - is_focussed: if let Main = state.focussed { - true - } else { - false - }, + is_focussed: matches!(state.focussed, Main), }; self.entries_pane.render(props, entries_area, buf); diff --git a/src/interactive/widgets/mark.rs b/src/interactive/widgets/mark.rs index b165415..0b38e99 100644 --- a/src/interactive/widgets/mark.rs +++ b/src/interactive/widgets/mark.rs @@ -105,7 +105,7 @@ impl MarkPane { pub fn process_events(mut self, key: Key) -> Option<(Self, Option<MarkMode>)> { let action = None; match key { - Ctrl('r') => return self.prepare_deletion(), + Ctrl('r') => return Some(self.prepare_deletion()), Char('x') | Char('d') | Char(' ') => { return self.remove_selected().map(|s| (s, action)) } @@ -174,12 +174,12 @@ impl MarkPane { d.num_errors_during_deletion = num_errors; } } - fn prepare_deletion(mut self) -> Option<(Self, Option<MarkMode>)> { + fn prepare_deletion(mut self) -> (Self, Option<MarkMode>) { for entry in self.marked.values_mut() { entry.num_errors_during_deletion = 0; } self.selected = Some(0); - Some((self, Some(MarkMode::Delete))) + (self, Some(MarkMode::Delete)) } fn remove_selected(mut self) -> Option<Self> { if let Some(mut selected) = self.selected { diff --git a/src/main.rs b/src/main.rs index 9f1be5e..d299e1a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -26,6 +26,7 @@ fn main() -> Result<()> { use crate::interactive::{Interaction, TerminalApp}; use anyhow::Context; use crosstermion::terminal::{tui::new_terminal, AlternateRawScreen}; + let no_tty_msg = "Interactive mode requires a connected terminal"; if atty::isnt(atty::Stream::Stdout) { return Err(anyhow!(no_tty_msg)); |