From 8c292c55583fd28a4e7be3d5f209a0a45f51f877 Mon Sep 17 00:00:00 2001 From: Uttarayan Mondal Date: Thu, 4 Nov 2021 16:47:01 +0530 Subject: [PATCH] Fix all clippy warnings --- src/data/mod.rs | 17 +++++---- src/main.rs | 64 ++++++++++++++++----------------- src/theme/{theme.rs => base.rs} | 0 src/theme/components.rs | 2 +- src/theme/mod.rs | 3 +- src/widgets/readout.rs | 4 +-- 6 files changed, 47 insertions(+), 43 deletions(-) rename src/theme/{theme.rs => base.rs} (100%) diff --git a/src/data/mod.rs b/src/data/mod.rs index 09974cd..8998568 100644 --- a/src/data/mod.rs +++ b/src/data/mod.rs @@ -1,5 +1,5 @@ use crate::cli::Opt; -use crate::theme::theme::Theme; +use crate::theme::Theme; use clap::arg_enum; use libmacchina::traits::ShellFormat; use libmacchina::traits::{ReadoutError, ShellKind}; @@ -66,8 +66,11 @@ fn create_bar<'a>(theme: &Theme, blocks: usize) -> Spans<'a> { if theme.bar.are_delimiters_hidden() { let mut span_vector = vec![Span::raw(""), Span::raw("")]; - let glyph = theme.bar.get_glyph().clone(); - let glyphs = colored_glyphs(&glyph, blocks); + // This clone is useless since we can't really clone a &str + // this just clones the reference to the str + // let glyph = theme.bar.get_glyph().clone(); + let glyph = theme.bar.get_glyph(); + let glyphs = colored_glyphs(glyph, blocks); if blocks == 10 { span_vector[0].content = Cow::from(glyphs); @@ -76,7 +79,7 @@ fn create_bar<'a>(theme: &Theme, blocks: usize) -> Spans<'a> { } span_vector[0].style = Style::default().fg(theme.get_key_color()); - span_vector[1].content = Cow::from(colored_glyphs(&glyph, 10 - blocks)); + span_vector[1].content = Cow::from(colored_glyphs(glyph, 10 - blocks)); if theme.get_key_color() == Color::White { span_vector[1].content = Cow::from(span_vector[1].content.replace(&glyph, " ")); } @@ -90,8 +93,8 @@ fn create_bar<'a>(theme: &Theme, blocks: usize) -> Spans<'a> { Span::raw(format!(" {}", theme.bar.get_symbol_close())), ]; - let glyph = theme.bar.get_glyph().clone(); - let glyphs = colored_glyphs(&glyph, blocks); + let glyph = theme.bar.get_glyph(); + let glyphs = colored_glyphs(glyph, blocks); if blocks == 10 { span_vector[1].content = Cow::from(glyphs); @@ -100,7 +103,7 @@ fn create_bar<'a>(theme: &Theme, blocks: usize) -> Spans<'a> { } span_vector[1].style = Style::default().fg(theme.get_key_color()); - span_vector[2].content = Cow::from(colored_glyphs(&glyph, 10 - blocks)); + span_vector[2].content = Cow::from(colored_glyphs(glyph, 10 - blocks)); if theme.get_key_color() == Color::White { span_vector[2].content = Cow::from(span_vector[2].content.replace(&glyph, " ")); } diff --git a/src/main.rs b/src/main.rs index ff2f7f8..f24027a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -20,7 +20,7 @@ pub mod widgets; use crate::data::ReadoutKey; use crate::theme::color::MacchinaColor; -use crate::theme::theme::Theme; +use crate::theme::Theme; use crate::widgets::readout::ReadoutList; use atty::Stream; use data::Readout; @@ -113,7 +113,7 @@ fn create_theme(opt: &Opt) -> Theme { for dir in array::IntoIter::new(dirs) { if let Ok(custom_theme) = Theme::get_theme(opt_theme, dir) { found = true; - theme = Theme::from(custom_theme); + theme = custom_theme; } } @@ -172,38 +172,38 @@ fn select_ascii(small: bool) -> Option> { fn list_themes() { let dirs = [dirs::config_dir(), libmacchina::extra::localbase_dir()]; - for i in array::IntoIter::new(dirs) { - if let Some(dir) = i { - let entries = libmacchina::extra::list_dir_entries(&dir.join("macchina/themes")); - if !entries.is_empty() { - let custom_themes = entries.iter().filter(|&x| { - if let Some(ext) = libmacchina::extra::path_extension(&x) { - ext == "toml" - } else { - false - } - }); - - if custom_themes.clone().count() == 0 { - println!( - "\nNo custom themes were found in {}", - dir.join("macchina/themes") - .to_string_lossy() - .bright_yellow() - ) + // for i in array::IntoIter::new(dirs) { + // if let Some(dir) = i { + for dir in array::IntoIter::new(dirs).flatten() { + let entries = libmacchina::extra::list_dir_entries(&dir.join("macchina/themes")); + if !entries.is_empty() { + let custom_themes = entries.iter().filter(|&x| { + if let Some(ext) = libmacchina::extra::path_extension(x) { + ext == "toml" + } else { + false } - - custom_themes.for_each(|x| { - if let Some(theme) = x.file_name() { - let name = theme.to_string_lossy().replace(".toml", ""); - println!( - "- {} ({}/macchina/themes)", - name.bright_green(), - &dir.to_string_lossy() - ); - } - }); + }); + + if custom_themes.clone().count() == 0 { + println!( + "\nNo custom themes were found in {}", + dir.join("macchina/themes") + .to_string_lossy() + .bright_yellow() + ) } + + custom_themes.for_each(|x| { + if let Some(theme) = x.file_name() { + let name = theme.to_string_lossy().replace(".toml", ""); + println!( + "- {} ({}/macchina/themes)", + name.bright_green(), + &dir.to_string_lossy() + ); + } + }); } } } diff --git a/src/theme/theme.rs b/src/theme/base.rs similarity index 100% rename from src/theme/theme.rs rename to src/theme/base.rs diff --git a/src/theme/components.rs b/src/theme/components.rs index 1afa030..a8d137f 100644 --- a/src/theme/components.rs +++ b/src/theme/components.rs @@ -153,7 +153,7 @@ impl Bar { } pub fn are_delimiters_hidden(&self) -> bool { - return self.symbol_open == '\0' && self.symbol_close == '\0'; + self.symbol_open == '\0' && self.symbol_close == '\0' } } diff --git a/src/theme/mod.rs b/src/theme/mod.rs index 8fcb7ee..3beab8c 100644 --- a/src/theme/mod.rs +++ b/src/theme/mod.rs @@ -1,3 +1,4 @@ +mod base; pub mod color; pub mod components; -pub mod theme; +pub use base::*; diff --git a/src/widgets/readout.rs b/src/widgets/readout.rs index 1669732..4e5d2a9 100644 --- a/src/widgets/readout.rs +++ b/src/widgets/readout.rs @@ -1,6 +1,6 @@ use crate::data::{Readout, ReadoutKey}; use crate::theme::components::Palette; -use crate::theme::theme::Theme; +use crate::theme::Theme; use std::collections::HashMap; use tui::buffer::Buffer; use tui::layout::{Margin, Rect}; @@ -82,7 +82,7 @@ impl<'a> Widget for ReadoutList<'a> { let keys = self.keys_to_text(&self.theme.get_key_color()); let max_key_width = Self::get_max_key_width(&keys); let themed_separator = Self::get_themed_separator( - &self.theme.get_separator(), + self.theme.get_separator(), &self.theme.get_separator_color(), );