mirror of
https://github.com/ChrisTitusTech/linutil.git
synced 2024-12-24 12:29:44 +00:00
Remove redundant code in themes
Removed redundant match statement with a function
This commit is contained in:
parent
1aa1dfe382
commit
3b7e859af8
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user