From 3b7e859af80bfa1f453928a74c47efd897e26934 Mon Sep 17 00:00:00 2001 From: Jeevitha Kannan K S Date: Sun, 10 Nov 2024 16:34:16 +0530 Subject: [PATCH] Remove redundant code in themes Removed redundant match statement with a function --- tui/src/theme.rs | 77 ++++++++++++++++-------------------------------- 1 file changed, 26 insertions(+), 51 deletions(-) diff --git a/tui/src/theme.rs b/tui/src/theme.rs index 9e10ce70..3897b18b 100644 --- a/tui/src/theme.rs +++ b/tui/src/theme.rs @@ -14,95 +14,70 @@ pub enum Theme { } impl Theme { - pub fn dir_color(&self) -> Color { + fn get_color_variant(&self, default: Color, compatible: Color) -> Color { match self { - Theme::Default => Color::Blue, - Theme::Compatible => Color::Blue, + Theme::Default => default, + Theme::Compatible => compatible, } } + fn get_icon_variant(&self, default: &'static str, compatible: &'static str) -> &'static str { + match self { + Theme::Default => default, + Theme::Compatible => compatible, + } + } + + pub fn dir_color(&self) -> Color { + self.get_color_variant(Color::Blue, Color::Blue) + } + pub fn cmd_color(&self) -> Color { - match self { - Theme::Default => Color::Rgb(204, 224, 208), - Theme::Compatible => Color::LightGreen, - } + self.get_color_variant(Color::Rgb(204, 224, 208), Color::LightGreen) } pub fn multi_select_disabled_color(&self) -> Color { - match self { - Theme::Default => Color::DarkGray, - Theme::Compatible => Color::DarkGray, - } + self.get_color_variant(Color::DarkGray, Color::DarkGray) } pub fn tab_color(&self) -> Color { - match self { - Theme::Default => Color::Rgb(255, 255, 85), - Theme::Compatible => Color::Yellow, - } + self.get_color_variant(Color::Rgb(255, 255, 85), Color::Yellow) } pub fn dir_icon(&self) -> &'static str { - match self { - Theme::Default => "  ", - Theme::Compatible => "[DIR]", - } + self.get_icon_variant("  ", "[DIR]") } pub fn cmd_icon(&self) -> &'static str { - match self { - Theme::Default => "  ", - Theme::Compatible => "[CMD]", - } + self.get_icon_variant("  ", "[CMD]") } pub fn tab_icon(&self) -> &'static str { - match self { - Theme::Default => " ", - Theme::Compatible => ">> ", - } + self.get_icon_variant(" ", ">> ") } pub fn multi_select_icon(&self) -> &'static str { - match self { - Theme::Default => "", - Theme::Compatible => "*", - } + self.get_icon_variant("", "*") } pub fn success_color(&self) -> Color { - match self { - Theme::Default => Color::Rgb(5, 255, 55), - Theme::Compatible => Color::Green, - } + self.get_color_variant(Color::Rgb(5, 255, 55), Color::Green) } pub fn fail_color(&self) -> Color { - match self { - Theme::Default => Color::Rgb(199, 55, 44), - Theme::Compatible => Color::Red, - } + self.get_color_variant(Color::Rgb(199, 55, 44), Color::Red) } pub fn focused_color(&self) -> Color { - match self { - Theme::Default => Color::LightBlue, - Theme::Compatible => Color::LightBlue, - } + self.get_color_variant(Color::LightBlue, Color::LightBlue) } pub fn search_preview_color(&self) -> Color { - match self { - Theme::Default => Color::DarkGray, - Theme::Compatible => Color::DarkGray, - } + self.get_color_variant(Color::DarkGray, Color::DarkGray) } pub fn unfocused_color(&self) -> Color { - match self { - Theme::Default => Color::Gray, - Theme::Compatible => Color::Gray, - } + self.get_color_variant(Color::Gray, Color::Gray) } }