use std::collections::HashMap; use std::path::PathBuf; use clap::parser::ValueSource; use regex::Regex; use syntect::highlighting::Style as SyntectStyle; use syntect::highlighting::Theme as SyntaxTheme; use syntect::parsing::SyntaxSet; use crate::ansi; use crate::cli; use crate::color; use crate::delta::State; use crate::fatal; use crate::features::navigate; use crate::features::side_by_side::{self, ansifill, LeftRight}; use crate::git_config::GitConfig; use crate::handlers; use crate::handlers::blame::parse_blame_line_numbers; use crate::handlers::blame::BlameLineNumbers; use crate::minusplus::MinusPlus; use crate::paint::BgFillMethod; use crate::parse_styles; use crate::style; use crate::style::Style; use crate::tests::TESTING; use crate::utils; use crate::utils::bat::output::PagingMode; use crate::utils::regex_replacement::RegexReplacement; use crate::wrapping::WrapConfig; pub const INLINE_SYMBOL_WIDTH_1: usize = 1; #[cfg_attr(test, derive(Clone))] pub struct Config { pub available_terminal_width: usize, pub background_color_extends_to_terminal_width: bool, pub blame_code_style: Option