From 4bdee80afa3db69c080ebc6ff977ee18e277da12 Mon Sep 17 00:00:00 2001 From: Hamir Mahal Date: Sun, 6 Oct 2024 09:33:58 -0700 Subject: [PATCH 1/2] style: simplify string formatting for readability --- build.rs | 2 +- src/exec/command.rs | 2 +- src/filter/time.rs | 8 ++++---- src/hyperlink.rs | 2 +- src/main.rs | 2 +- src/output.rs | 4 ++-- src/walk.rs | 7 +++---- tests/testenv/mod.rs | 8 ++++---- tests/tests.rs | 14 +++++++------- 9 files changed, 24 insertions(+), 25 deletions(-) diff --git a/build.rs b/build.rs index 5a4c372..ed75430 100644 --- a/build.rs +++ b/build.rs @@ -5,7 +5,7 @@ fn main() { Some(true) => {} // rustc version too small or can't figure it out _ => { - eprintln!("'fd' requires rustc >= {}", min_version); + eprintln!("'fd' requires rustc >= {min_version}"); std::process::exit(1); } } diff --git a/src/exec/command.rs b/src/exec/command.rs index ff13f91..0692166 100644 --- a/src/exec/command.rs +++ b/src/exec/command.rs @@ -103,7 +103,7 @@ pub fn handle_cmd_error(cmd: Option<&Command>, err: io::Error) -> ExitCode { ExitCode::GeneralError } (_, err) => { - print_error(format!("Problem while executing command: {}", err)); + print_error(format!("Problem while executing command: {err}")); ExitCode::GeneralError } } diff --git a/src/filter/time.rs b/src/filter/time.rs index a672594..02bbad0 100644 --- a/src/filter/time.rs +++ b/src/filter/time.rs @@ -149,21 +149,21 @@ mod tests { // Timestamp only supported via '@' prefix assert!(TimeFilter::before(&ref_time, &ref_timestamp.to_string()).is_none()); assert!( - TimeFilter::before(&ref_time, &format!("@{}", ref_timestamp)) + TimeFilter::before(&ref_time, &format!("@{ref_timestamp}")) .unwrap() .applies_to(&t1m_ago) ); assert!( - !TimeFilter::before(&ref_time, &format!("@{}", ref_timestamp)) + !TimeFilter::before(&ref_time, &format!("@{ref_timestamp}")) .unwrap() .applies_to(&t1s_later) ); assert!( - !TimeFilter::after(&ref_time, &format!("@{}", ref_timestamp)) + !TimeFilter::after(&ref_time, &format!("@{ref_timestamp}")) .unwrap() .applies_to(&t1m_ago) ); - assert!(TimeFilter::after(&ref_time, &format!("@{}", ref_timestamp)) + assert!(TimeFilter::after(&ref_time, &format!("@{ref_timestamp}")) .unwrap() .applies_to(&t1s_later)); } diff --git a/src/hyperlink.rs b/src/hyperlink.rs index 4ddd3ef..f347e38 100644 --- a/src/hyperlink.rs +++ b/src/hyperlink.rs @@ -35,7 +35,7 @@ fn encode(f: &mut Formatter, byte: u8) -> fmt::Result { #[cfg(windows)] b'\\' => f.write_char('/'), _ => { - write!(f, "%{:02X}", byte) + write!(f, "%{byte:02X}") } } } diff --git a/src/main.rs b/src/main.rs index 88e6b4c..d275b2a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -63,7 +63,7 @@ fn main() { exit_code.exit(); } Err(err) => { - eprintln!("[fd error]: {:#}", err); + eprintln!("[fd error]: {err:#}"); ExitCode::GeneralError.exit(); } } diff --git a/src/output.rs b/src/output.rs index a7d3ecd..1d53c55 100644 --- a/src/output.rs +++ b/src/output.rs @@ -17,7 +17,7 @@ pub fn print_entry(stdout: &mut W, entry: &DirEntry, config: &Config) let mut has_hyperlink = false; if config.hyperlink { if let Some(url) = PathUrl::new(entry.path()) { - write!(stdout, "\x1B]8;;{}\x1B\\", url)?; + write!(stdout, "\x1B]8;;{url}\x1B\\")?; has_hyperlink = true; } } @@ -143,7 +143,7 @@ fn print_entry_uncolorized_base( if let Some(ref separator) = config.path_separator { *path_string.to_mut() = replace_path_separator(&path_string, separator); } - write!(stdout, "{}", path_string)?; + write!(stdout, "{path_string}")?; print_trailing_slash(stdout, entry, config, None) } diff --git a/src/walk.rs b/src/walk.rs index d203702..45d949e 100644 --- a/src/walk.rs +++ b/src/walk.rs @@ -252,7 +252,7 @@ impl<'a, W: Write> ReceiverBuffer<'a, W> { fn print(&mut self, entry: &DirEntry) -> Result<(), ExitCode> { if let Err(e) = output::print_entry(&mut self.stdout, entry, self.config) { if e.kind() != ::std::io::ErrorKind::BrokenPipe { - print_error(format!("Could not write to output: {}", e)); + print_error(format!("Could not write to output: {e}")); return Err(ExitCode::GeneralError); } } @@ -377,8 +377,7 @@ impl WorkerState { Some(ignore::Error::Partial(_)) => (), Some(err) => { print_error(format!( - "Malformed pattern in global ignore file. {}.", - err + "Malformed pattern in global ignore file. {err}." )); } None => (), @@ -392,7 +391,7 @@ impl WorkerState { match result { Some(ignore::Error::Partial(_)) => (), Some(err) => { - print_error(format!("Malformed pattern in custom ignore file. {}.", err)); + print_error(format!("Malformed pattern in custom ignore file. {err}.")); } None => (), } diff --git a/tests/testenv/mod.rs b/tests/testenv/mod.rs index d40ab2f..04c25b5 100644 --- a/tests/testenv/mod.rs +++ b/tests/testenv/mod.rs @@ -104,9 +104,9 @@ fn format_output_error(args: &[&str], expected: &str, actual: &str) -> String { let diff_text = diff::lines(expected, actual) .into_iter() .map(|diff| match diff { - diff::Result::Left(l) => format!("-{}", l), - diff::Result::Both(l, _) => format!(" {}", l), - diff::Result::Right(r) => format!("+{}", r), + diff::Result::Left(l) => format!("-{l}"), + diff::Result::Both(l, _) => format!(" {l}"), + diff::Result::Right(r) => format!("+{r}"), }) .collect::>() .join("\n"); @@ -290,7 +290,7 @@ impl TestEnv { pub fn assert_failure_with_error(&self, args: &[&str], expected: &str) { let status = self.assert_error_subdirectory(".", args, Some(expected)); if status.success() { - panic!("error '{}' did not occur.", expected); + panic!("error '{expected}' did not occur."); } } diff --git a/tests/tests.rs b/tests/tests.rs index c6ffe69..bc25c73 100644 --- a/tests/tests.rs +++ b/tests/tests.rs @@ -597,7 +597,7 @@ fn test_full_path() { te.assert_output( &[ "--full-path", - &format!("^{prefix}.*three.*foo$", prefix = prefix), + &format!("^{prefix}.*three.*foo$"), ], "one/two/three/d.foo one/two/three/directory_foo/", @@ -1518,7 +1518,7 @@ fn test_symlink_as_absolute_root() { let (te, abs_path) = get_test_env_with_abs_path(DEFAULT_DIRS, DEFAULT_FILES); te.assert_output( - &["", &format!("{abs_path}/symlink", abs_path = abs_path)], + &["", &format!("{abs_path}/symlink")], &format!( "{abs_path}/symlink/c.foo {abs_path}/symlink/C.Foo2 @@ -1543,7 +1543,7 @@ fn test_symlink_and_full_path() { &[ "--absolute-path", "--full-path", - &format!("^{prefix}.*three", prefix = prefix), + &format!("^{prefix}.*three"), ], &format!( "{abs_path}/{expected_path}/three/ @@ -1563,8 +1563,8 @@ fn test_symlink_and_full_path_abs_path() { te.assert_output( &[ "--full-path", - &format!("^{prefix}.*symlink.*three", prefix = prefix), - &format!("{abs_path}/symlink", abs_path = abs_path), + &format!("^{prefix}.*symlink.*three"), + &format!("{abs_path}/symlink"), ], &format!( "{abs_path}/symlink/three/ @@ -2337,7 +2337,7 @@ fn test_owner_current_user() { fn test_owner_current_group() { let te = TestEnv::new(DEFAULT_DIRS, DEFAULT_FILES); let gid = Gid::current(); - te.assert_output(&["--owner", &format!(":{}", gid), "a.foo"], "a.foo"); + te.assert_output(&["--owner", &format!(":{gid}"), "a.foo"], "a.foo"); if let Ok(Some(group)) = Group::from_gid(gid) { te.assert_output(&["--owner", &format!(":{}", group.name), "a.foo"], "a.foo"); } @@ -2616,7 +2616,7 @@ fn test_invalid_cwd() { .unwrap(); if !output.status.success() { - panic!("{:?}", output); + panic!("{output:?}"); } } From 87f230a66e5aef0cc87a5bb5202758f0a5459714 Mon Sep 17 00:00:00 2001 From: Hamir Mahal Date: Sun, 6 Oct 2024 09:34:41 -0700 Subject: [PATCH 2/2] fix: formatting in `src/` and `tests/` --- src/filter/time.rs | 24 +++++++++--------------- src/walk.rs | 4 +--- tests/tests.rs | 5 +---- 3 files changed, 11 insertions(+), 22 deletions(-) diff --git a/src/filter/time.rs b/src/filter/time.rs index 02bbad0..cd17542 100644 --- a/src/filter/time.rs +++ b/src/filter/time.rs @@ -148,21 +148,15 @@ mod tests { let t1s_later = ref_time + Duration::from_secs(1); // Timestamp only supported via '@' prefix assert!(TimeFilter::before(&ref_time, &ref_timestamp.to_string()).is_none()); - assert!( - TimeFilter::before(&ref_time, &format!("@{ref_timestamp}")) - .unwrap() - .applies_to(&t1m_ago) - ); - assert!( - !TimeFilter::before(&ref_time, &format!("@{ref_timestamp}")) - .unwrap() - .applies_to(&t1s_later) - ); - assert!( - !TimeFilter::after(&ref_time, &format!("@{ref_timestamp}")) - .unwrap() - .applies_to(&t1m_ago) - ); + assert!(TimeFilter::before(&ref_time, &format!("@{ref_timestamp}")) + .unwrap() + .applies_to(&t1m_ago)); + assert!(!TimeFilter::before(&ref_time, &format!("@{ref_timestamp}")) + .unwrap() + .applies_to(&t1s_later)); + assert!(!TimeFilter::after(&ref_time, &format!("@{ref_timestamp}")) + .unwrap() + .applies_to(&t1m_ago)); assert!(TimeFilter::after(&ref_time, &format!("@{ref_timestamp}")) .unwrap() .applies_to(&t1s_later)); diff --git a/src/walk.rs b/src/walk.rs index 45d949e..a98bdff 100644 --- a/src/walk.rs +++ b/src/walk.rs @@ -376,9 +376,7 @@ impl WorkerState { match result { Some(ignore::Error::Partial(_)) => (), Some(err) => { - print_error(format!( - "Malformed pattern in global ignore file. {err}." - )); + print_error(format!("Malformed pattern in global ignore file. {err}.")); } None => (), } diff --git a/tests/tests.rs b/tests/tests.rs index bc25c73..81010cf 100644 --- a/tests/tests.rs +++ b/tests/tests.rs @@ -595,10 +595,7 @@ fn test_full_path() { let prefix = escape(&root.to_string_lossy()); te.assert_output( - &[ - "--full-path", - &format!("^{prefix}.*three.*foo$"), - ], + &["--full-path", &format!("^{prefix}.*three.*foo$")], "one/two/three/d.foo one/two/three/directory_foo/", );