use regex::Regex;
use std::path::PathBuf;
pub mod builder;
mod parsing;
mod path_resolve;
mod validation;
#[derive(Debug)]
pub struct Config {
pub input_path: PathBuf,
pub base_path_display: String,
pub input_is_file: bool,
pub max_size: Option<u128>, pub recursive: bool,
pub extensions: Option<Vec<String>>,
pub exclude_extensions: Option<Vec<String>>,
pub ignore_patterns: Option<Vec<String>>,
pub path_regex: Option<Vec<Regex>>,
pub filename_regex: Option<Vec<Regex>>,
pub use_gitignore: bool,
pub include_binary: bool, pub skip_lockfiles: bool, pub remove_comments: bool,
pub remove_empty_lines: bool,
pub filename_only_header: bool,
pub line_numbers: bool,
pub backticks: bool,
pub output_destination: OutputDestination,
pub summary: bool,
pub counts: bool,
pub process_last: Option<Vec<String>>,
pub only_last: bool,
pub dry_run: bool,
}
#[derive(Debug, PartialEq, Eq, Clone)]
pub enum OutputDestination {
Stdout,
File(PathBuf),
Clipboard,
}