diff --git a/src/cat.rs b/src/cat.rs index 8f68a07..14b7879 100644 --- a/src/cat.rs +++ b/src/cat.rs @@ -25,12 +25,17 @@ pub struct CatArgs { pub fn run(args: CatArgs) -> Result<()> { let mut output = String::new(); let root_path = Path::new("."); + + // Load config and merge excludes + let config = crate::config::load_config(root_path)?; + let mut excludes = args.exclude_args.exclude.clone(); + excludes.extend(config.exclude); if let Some(id) = args.id { cat_from_snapshot(id, root_path, &mut output)?; } else { let path = args.path.unwrap_or_else(|| PathBuf::from(".")); - cat_from_workdir(&path, &args.exclude_args.exclude, &mut output)?; + cat_from_workdir(&path, &excludes, &mut output)?; } utils::handle_output(output, &args.output_args, "File content") diff --git a/src/module.rs b/src/module.rs index 1d5de75..a48c74b 100644 --- a/src/module.rs +++ b/src/module.rs @@ -19,9 +19,14 @@ pub struct ModuleArgs { pub fn run(args: ModuleArgs) -> Result<()> { let mut output = String::new(); + + // Load config and merge excludes + let config = crate::config::load_config(std::path::Path::new("."))?; + let mut excludes = args.exclude_args.exclude.clone(); + excludes.extend(config.exclude); let mut glob_builder = GlobSetBuilder::new(); - for pattern in &args.exclude_args.exclude { + for pattern in &excludes { let glob = Glob::new(&format!("**/{}", pattern))?; glob_builder.add(glob); }