From 82f14121bd70432080820c245e67c0eb3113f2c5 Mon Sep 17 00:00:00 2001 From: Daniele Esposti Date: Fri, 8 Mar 2019 10:46:49 +0000 Subject: [PATCH] Applied linter fixes --- .DS_Store | Bin 0 -> 6148 bytes src/app.rs | 26 ++++++++++++-------------- src/assets.rs | 6 +++--- src/clap_app.rs | 2 +- src/config.rs | 8 ++++---- src/controller.rs | 2 +- src/line_range.rs | 14 ++++---------- src/main.rs | 2 +- src/output.rs | 2 +- src/printer.rs | 10 +++++----- src/style.rs | 4 ++-- src/syntax_mapping.rs | 5 +++-- 12 files changed, 37 insertions(+), 44 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..638b0d7026a296895fb31efe27e5047a6d991ff3 GIT binary patch literal 6148 zcmeHKJ8l9o5S<|it(0a9^us9E~@hB50G26hv>N@w3PC zZ21*CJ0hapdG{vLibw-Dl#2~hvwic4%`&1uIL_G1u>0B`K90x3B>U%paThYkMo#ki zoo^d7DnJFO02QDDRN&zXWQlEFAAT|qqykjn*%h$wLxCIC#4*r69T>a?0L~G1!`yob zV6gzOCXRuKz%;19plY@l8g#@<=GDY8FzBM$d}!XR*`cW4j`NGBi`GDnRDcTHEASG_ z*6RNX{!9OVPvVLSP=SA?fX@5(zQdEUwoV>rwYI?5aLc*E%`kTg1~11zFUMF|IbM2F bPDkA7K>iGvE;K6e*9zPK5X%*r literal 0 HcmV?d00001 diff --git a/src/app.rs b/src/app.rs index f32ed674..2ced7306 100644 --- a/src/app.rs +++ b/src/app.rs @@ -120,7 +120,7 @@ impl App { // Read arguments from bats config file let mut args = get_args_from_env_var() - .unwrap_or_else(|| get_args_from_config_file()) + .unwrap_or_else(get_args_from_config_file) .chain_err(|| "Could not parse configuration file")?; // Put the zero-th CLI argument (program name) first @@ -152,12 +152,10 @@ impl App { } else { PagingMode::Never } + } else if self.interactive_output { + PagingMode::QuitIfOneScreen } else { - if self.interactive_output { - PagingMode::QuitIfOneScreen - } else { - PagingMode::Never - } + PagingMode::Never } } }; @@ -166,7 +164,7 @@ impl App { if let Some(values) = self.matches.values_of("map-syntax") { for from_to in values { - let parts: Vec<_> = from_to.split(":").collect(); + let parts: Vec<_> = from_to.split(':').collect(); if parts.len() != 2 { return Err("Invalid syntax mapping. The format of the -m/--map-syntax option is 'from:to'.".into()); @@ -213,11 +211,11 @@ impl App { .matches .value_of("terminal-width") .and_then(|w| { - if w.starts_with("+") || w.starts_with("-") { + if w.starts_with('+') || w.starts_with('-') { // Treat argument as a delta to the current terminal width w.parse().ok().map(|delta: i16| { let old_width: u16 = Term::stdout().size().1; - let new_width: i32 = old_width as i32 + delta as i32; + let new_width: i32 = i32::from(old_width) + i32::from(delta); if new_width <= 0 { old_width as usize @@ -252,14 +250,14 @@ impl App { .value_of("theme") .map(String::from) .or_else(|| env::var("BAT_THEME").ok()) - .unwrap_or(String::from(BAT_THEME_DEFAULT)), + .unwrap_or_else(|| String::from(BAT_THEME_DEFAULT)), line_ranges: LineRanges::from( transpose( self.matches .values_of("line-range") .map(|vs| vs.map(LineRange::from).collect()), )? - .unwrap_or(vec![]), + .unwrap_or_else(|| vec![]), ), output_components, syntax_mapping, @@ -306,7 +304,7 @@ impl App { let env_style_components: Option> = transpose(env::var("BAT_STYLE").ok().map(|style_str| { style_str - .split(",") + .split(',') .map(|x| OutputComponent::from_str(&x)) .collect::>>() }))?; @@ -315,13 +313,13 @@ impl App { .value_of("style") .map(|styles| { styles - .split(",") + .split(',') .map(|style| style.parse::()) .filter_map(|style| style.ok()) .collect::>() }) .or(env_style_components) - .unwrap_or(vec![OutputComponent::Full]) + .unwrap_or_else(|| vec![OutputComponent::Full]) .into_iter() .map(|style| style.components(self.interactive_output)) .fold(HashSet::new(), |mut acc, components| { diff --git a/src/assets.rs b/src/assets.rs index 97fac437..f8d467c2 100644 --- a/src/assets.rs +++ b/src/assets.rs @@ -40,7 +40,7 @@ impl HighlightingAssets { let theme_dir = source_dir.join("themes"); let res = theme_set.add_from_folder(&theme_dir); - if !res.is_ok() { + if res.is_err() { println!( "No themes were found in '{}', using the default set", theme_dir.to_string_lossy() @@ -191,8 +191,8 @@ impl HighlightingAssets { } else { None }; - let syntax = ext_syntax.or(line_syntax); - syntax + + ext_syntax.or(line_syntax) } (None, InputFile::StdIn) => String::from_utf8(reader.first_line.clone()) .ok() diff --git a/src/clap_app.rs b/src/clap_app.rs index 1c78673a..c34d8b68 100644 --- a/src/clap_app.rs +++ b/src/clap_app.rs @@ -109,7 +109,7 @@ pub fn build_app(interactive_output: bool) -> ClapApp<'static, 'static> { .overrides_with("number") // Cannot use clap's built in validation because we have to turn off clap's delimiters .validator(|val| { - let mut invalid_vals = val.split(",").filter(|style| { + let mut invalid_vals = val.split(',').filter(|style| { !&[ "auto", "full", "plain", "changes", "header", "grid", "numbers", ] diff --git a/src/config.rs b/src/config.rs index 384633c7..0f46bff4 100644 --- a/src/config.rs +++ b/src/config.rs @@ -13,7 +13,7 @@ pub fn config_file() -> PathBuf { .ok() .map(PathBuf::from) .filter(|config_path| config_path.is_file()) - .unwrap_or(PROJECT_DIRS.config_dir().join("config")) + .unwrap_or_else(|| PROJECT_DIRS.config_dir().join("config")) } pub fn get_args_from_config_file() -> Result, shell_words::ParseError> { @@ -22,19 +22,19 @@ pub fn get_args_from_config_file() -> Result, shell_words::ParseEr .ok() .map(|content| get_args_from_str(&content)), )? - .unwrap_or(vec![])) + .unwrap_or_else(|| vec![])) } pub fn get_args_from_env_var() -> Option, shell_words::ParseError>> { env::var("BAT_OPTS").ok().map(|s| get_args_from_str(&s)) } -fn get_args_from_str<'a>(content: &'a str) -> Result, shell_words::ParseError> { +fn get_args_from_str(content: &str) -> Result, shell_words::ParseError> { let args_per_line = content .split('\n') .map(|line| line.trim()) .filter(|line| !line.is_empty()) - .filter(|line| !line.starts_with("#")) + .filter(|line| !line.starts_with('#')) .map(|line| shell_words::split(line)) .collect::, _>>()?; diff --git a/src/controller.rs b/src/controller.rs index 13ceb9f3..ac39abbe 100644 --- a/src/controller.rs +++ b/src/controller.rs @@ -88,7 +88,7 @@ impl<'b> Controller<'b> { Ok(()) } - fn print_file_ranges<'a, P: Printer>( + fn print_file_ranges( &self, printer: &mut P, writer: &mut Write, diff --git a/src/line_range.rs b/src/line_range.rs index 608e6fef..411d118b 100644 --- a/src/line_range.rs +++ b/src/line_range.rs @@ -109,18 +109,12 @@ impl LineRanges { } pub fn check(&self, line: usize) -> RangeCheckResult { - if self.ranges.is_empty() { + if self.ranges.is_empty() | self.ranges.iter().any(|r| r.is_inside(line)) { RangeCheckResult::InRange + } else if line < self.largest_upper_bound { + RangeCheckResult::OutsideRange } else { - if self.ranges.iter().any(|r| r.is_inside(line)) { - RangeCheckResult::InRange - } else { - if line < self.largest_upper_bound { - RangeCheckResult::OutsideRange - } else { - RangeCheckResult::AfterLastRange - } - } + RangeCheckResult::AfterLastRange } } } diff --git a/src/main.rs b/src/main.rs index cc19a486..5e9c4ccc 100644 --- a/src/main.rs +++ b/src/main.rs @@ -67,7 +67,7 @@ mod errors { pub fn handle_error(error: &Error) { match error { - &Error(ErrorKind::Io(ref io_error), _) + Error(ErrorKind::Io(ref io_error), _) if io_error.kind() == super::io::ErrorKind::BrokenPipe => { super::process::exit(0); diff --git a/src/output.rs b/src/output.rs index 034c64e3..14ed5bce 100644 --- a/src/output.rs +++ b/src/output.rs @@ -51,7 +51,7 @@ impl OutputType { let pager = pager_from_config .or(pager_from_env) - .unwrap_or(String::from("less")); + .unwrap_or_else(|| String::from("less")); let pagerflags = shell_words::split(&pager).chain_err(|| "Could not parse pager command.")?; diff --git a/src/printer.rs b/src/printer.rs index 6a6c92fb..692e5702 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -64,7 +64,7 @@ impl Printer for SimplePrinter { line_buffer: &[u8], ) -> Result<()> { if !out_of_range { - handle.write(line_buffer)?; + handle.write_all(line_buffer)?; } Ok(()) } @@ -270,7 +270,7 @@ impl<'a> Printer for InteractivePrinter<'a> { }; if self.config.show_nonprintable { - line = replace_nonprintable(&mut line, self.config.tab_width); + line = replace_nonprintable(&line, self.config.tab_width); } let regions = { @@ -355,11 +355,11 @@ impl<'a> Printer for InteractivePrinter<'a> { } if line.bytes().next_back() != Some(b'\n') { - write!(handle, "\n")?; + writeln!(handle)?; } } else { for &(style, region) in regions.iter() { - let mut ansi_iterator = AnsiCodeIterator::new(region); + let ansi_iterator = AnsiCodeIterator::new(region); let mut ansi_prefix: String = String::new(); for chunk in ansi_iterator { match chunk { @@ -472,7 +472,7 @@ impl<'a> Printer for InteractivePrinter<'a> { ansi_style.paint(" ".repeat(cursor_max - cursor)) )?; } - write!(handle, "\n")?; + writeln!(handle)?; } Ok(()) diff --git a/src/style.rs b/src/style.rs index b0beb229..254604d0 100644 --- a/src/style.rs +++ b/src/style.rs @@ -21,8 +21,8 @@ pub enum OutputWrap { } impl OutputComponent { - pub fn components(&self, interactive_terminal: bool) -> &'static [OutputComponent] { - match *self { + pub fn components(self, interactive_terminal: bool) -> &'static [OutputComponent] { + match self { OutputComponent::Auto => { if interactive_terminal { OutputComponent::Full.components(interactive_terminal) diff --git a/src/syntax_mapping.rs b/src/syntax_mapping.rs index 2b32224f..bfd29f00 100644 --- a/src/syntax_mapping.rs +++ b/src/syntax_mapping.rs @@ -1,14 +1,15 @@ use std::borrow::Cow; use std::collections::HashMap; -#[derive(Debug, Clone)] +#[derive(Debug, Clone, Default)] pub struct SyntaxMapping(HashMap); impl SyntaxMapping { pub fn new() -> SyntaxMapping { - SyntaxMapping(HashMap::new()) + Default::default() } + pub fn insert(&mut self, from: impl Into, to: impl Into) -> Option { self.0.insert(from.into(), to.into()) }