From 6051a0c1c89341d20a5148b18654d343087f0ae3 Mon Sep 17 00:00:00 2001 From: Charlie Marsh Date: Mon, 30 Jan 2023 23:11:56 -0500 Subject: [PATCH] Include per-file ignore matches in debug logging (#2376) --- src/fs.rs | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/src/fs.rs b/src/fs.rs index 2e5b347af6..63932bdbaa 100644 --- a/src/fs.rs +++ b/src/fs.rs @@ -1,8 +1,10 @@ use std::fs::File; use std::io::{BufReader, Read}; +use std::ops::Deref; use std::path::{Path, PathBuf}; use anyhow::{anyhow, Result}; +use log::debug; use path_absolutize::{path_dedot, Absolutize}; use rustc_hash::FxHashSet; @@ -34,10 +36,28 @@ pub(crate) fn ignores_from_path<'a>( let (file_path, file_basename) = extract_path_names(path)?; Ok(pattern_code_pairs .iter() - .filter(|(absolute, basename, _)| { - basename.is_match(file_basename) || absolute.is_match(file_path) + .filter_map(|(absolute, basename, codes)| { + if basename.is_match(file_basename) { + debug!( + "Adding per-file ignores for {:?} due to basename match on {:?}: {:?}", + path, + basename.deref().glob().regex(), + &**codes + ); + return Some(codes.iter()); + } + if absolute.is_match(file_path) { + debug!( + "Adding per-file ignores for {:?} due to absolute match on {:?}: {:?}", + path, + absolute.deref().glob().regex(), + &**codes + ); + return Some(codes.iter()); + } + None }) - .flat_map(|(_, _, codes)| codes.iter()) + .flatten() .collect()) }