diff --git a/src/cli.rs b/src/cli.rs index 9ae6130fd..f7a4ec906 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -8,10 +8,10 @@ use structopt::{clap, StructOpt}; use syntect::highlighting::Theme as SyntaxTheme; use syntect::parsing::SyntaxSet; -use crate::bat_utils::assets::HighlightingAssets; -use crate::bat_utils::output::PagingMode; use crate::git_config::{GitConfig, GitConfigEntry}; use crate::options; +use crate::utils::bat::assets::HighlightingAssets; +use crate::utils::bat::output::PagingMode; // No Default trait as this ignores `default_value = ..` #[derive(StructOpt)] diff --git a/src/color.rs b/src/color.rs index 8140f9c6b..c816e1581 100644 --- a/src/color.rs +++ b/src/color.rs @@ -5,9 +5,8 @@ use ansi_term::Color; use lazy_static::lazy_static; use syntect::highlighting::Color as SyntectColor; -use crate::bat_utils::terminal::to_ansi_color; use crate::fatal; -use crate::syntect_utils; +use crate::utils; pub fn parse_color(s: &str, true_color: bool) -> Option { if s == "normal" { @@ -21,11 +20,11 @@ pub fn parse_color(s: &str, true_color: bool) -> Option { } else { s.parse::() .ok() - .and_then(syntect_utils::syntect_color_from_ansi_number) - .or_else(|| syntect_utils::syntect_color_from_ansi_name(s)) + .and_then(utils::syntect::syntect_color_from_ansi_number) + .or_else(|| utils::syntect::syntect_color_from_ansi_name(s)) .unwrap_or_else(die) }; - to_ansi_color(syntect_color, true_color) + utils::bat::terminal::to_ansi_color(syntect_color, true_color) } pub fn color_to_string(color: Color) -> String { diff --git a/src/config.rs b/src/config.rs index 3cba6ba3a..814242116 100644 --- a/src/config.rs +++ b/src/config.rs @@ -9,7 +9,6 @@ use syntect::parsing::SyntaxSet; use unicode_segmentation::UnicodeSegmentation; use crate::ansi; -use crate::bat_utils::output::PagingMode; use crate::cli; use crate::color; use crate::delta::State; @@ -21,8 +20,9 @@ use crate::git_config::{GitConfig, GitConfigEntry}; use crate::minusplus::MinusPlus; use crate::paint::BgFillMethod; use crate::style::{self, Style}; -use crate::syntect_utils::FromDeltaStyle; use crate::tests::TESTING; +use crate::utils::bat::output::PagingMode; +use crate::utils::syntect::FromDeltaStyle; use crate::wrapping::WrapConfig; pub const INLINE_SYMBOL_WIDTH_1: usize = 1; @@ -647,9 +647,9 @@ pub const HEADER_LEN: usize = 7; #[cfg(test)] pub mod tests { - use crate::bat_utils::output::PagingMode; use crate::cli; use crate::tests::integration_test_utils; + use crate::utils::bat::output::PagingMode; use std::fs::remove_file; #[test] diff --git a/src/handlers/blame.rs b/src/handlers/blame.rs index fad87b4d4..e62332f2f 100644 --- a/src/handlers/blame.rs +++ b/src/handlers/blame.rs @@ -73,7 +73,7 @@ impl<'a> StateMachine<'a> { // Emit syntax-highlighted code if matches!(self.state, State::Unknown) { - if let Some(lang) = utils::git_blame_filename_extension() + if let Some(lang) = utils::process::git_blame_filename_extension() .as_ref() .or_else(|| self.config.default_language.as_ref()) { diff --git a/src/main.rs b/src/main.rs index 64395de17..6a6e3c71c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,8 +5,6 @@ extern crate error_chain; mod align; mod ansi; -#[cfg(not(tarpaulin_include))] -mod bat_utils; mod cli; mod color; mod config; @@ -26,7 +24,6 @@ mod utils; mod wrapping; mod subcommands; -mod syntect_utils; mod tests; @@ -35,9 +32,9 @@ use std::process; use bytelines::ByteLinesReader; -use crate::bat_utils::assets::{list_languages, HighlightingAssets}; -use crate::bat_utils::output::OutputType; use crate::delta::delta; +use crate::utils::bat::assets::{list_languages, HighlightingAssets}; +use crate::utils::bat::output::OutputType; pub fn fatal(errmsg: T) -> ! where diff --git a/src/options/set.rs b/src/options/set.rs index 656918412..27a03105b 100644 --- a/src/options/set.rs +++ b/src/options/set.rs @@ -6,8 +6,6 @@ use std::str::FromStr; use console::Term; use structopt::clap; -use crate::bat_utils::assets::HighlightingAssets; -use crate::bat_utils::output::PagingMode; use crate::cli; use crate::config; use crate::env; @@ -17,6 +15,8 @@ use crate::features; use crate::git_config::{GitConfig, GitConfigEntry}; use crate::options::option_value::{OptionValue, ProvenancedOptionValue}; use crate::options::theme; +use crate::utils::bat::assets::HighlightingAssets; +use crate::utils::bat::output::PagingMode; macro_rules! set_options { ([$( $field_ident:ident ),* ], @@ -644,9 +644,9 @@ fn set_git_config_entries(opt: &mut cli::Opt, git_config: &mut GitConfig) { pub mod tests { use std::fs::remove_file; - use crate::bat_utils::output::PagingMode; use crate::cli; use crate::tests::integration_test_utils; + use crate::utils::bat::output::PagingMode; #[test] fn test_options_can_be_set_in_git_config() { diff --git a/src/options/theme.rs b/src/options/theme.rs index 5b5dffaa0..c91b3f113 100644 --- a/src/options/theme.rs +++ b/src/options/theme.rs @@ -8,9 +8,9 @@ /// default is selected. use syntect::highlighting::ThemeSet; -use crate::bat_utils::assets::HighlightingAssets; use crate::cli; use crate::env; +use crate::utils::bat::assets::HighlightingAssets; #[allow(non_snake_case)] pub fn set__is_light_mode__syntax_theme__syntax_set( diff --git a/src/paint.rs b/src/paint.rs index 02854a5c8..ecf76e2f3 100644 --- a/src/paint.rs +++ b/src/paint.rs @@ -777,8 +777,8 @@ fn is_whitespace_error(sections: &[(Style, &str)]) -> bool { mod superimpose_style_sections { use syntect::highlighting::Style as SyntectStyle; - use crate::bat_utils::terminal::to_ansi_color; use crate::style::Style; + use crate::utils::bat::terminal::to_ansi_color; pub fn superimpose_style_sections( sections_1: &[(SyntectStyle, &str)], diff --git a/src/subcommands/list_syntax_themes.rs b/src/subcommands/list_syntax_themes.rs index fe485dc58..789c619b8 100644 --- a/src/subcommands/list_syntax_themes.rs +++ b/src/subcommands/list_syntax_themes.rs @@ -2,8 +2,8 @@ use std::io::{self, Write}; use itertools::Itertools; -use crate::bat_utils::assets::HighlightingAssets; use crate::options::theme::is_light_syntax_theme; +use crate::utils::bat::assets::HighlightingAssets; #[cfg(not(tarpaulin_include))] pub fn list_syntax_themes() -> std::io::Result<()> { diff --git a/src/subcommands/show_config.rs b/src/subcommands/show_config.rs index a9c8db2d7..a36ee4a26 100644 --- a/src/subcommands/show_config.rs +++ b/src/subcommands/show_config.rs @@ -2,13 +2,13 @@ use std::io::Write; use itertools::Itertools; -use crate::bat_utils::output::PagingMode; use crate::cli; use crate::config; use crate::features::side_by_side::{Left, Right}; use crate::minusplus::*; use crate::paint::BgFillMethod; use crate::style; +use crate::utils::bat::output::PagingMode; pub fn show_config(config: &config::Config, writer: &mut dyn Write) -> std::io::Result<()> { // styles first diff --git a/src/subcommands/show_syntax_themes.rs b/src/subcommands/show_syntax_themes.rs index d7ecea76b..7bbbe1247 100644 --- a/src/subcommands/show_syntax_themes.rs +++ b/src/subcommands/show_syntax_themes.rs @@ -2,12 +2,12 @@ use std::io::{self, ErrorKind, Read, Write}; use structopt::StructOpt; -use crate::bat_utils::assets::HighlightingAssets; -use crate::bat_utils::output::{OutputType, PagingMode}; use crate::cli; use crate::config; use crate::delta; use crate::options::theme::is_light_syntax_theme; +use crate::utils::bat::assets::HighlightingAssets; +use crate::utils::bat::output::{OutputType, PagingMode}; #[cfg(not(tarpaulin_include))] pub fn show_syntax_themes() -> std::io::Result<()> { diff --git a/src/subcommands/show_themes.rs b/src/subcommands/show_themes.rs index 21305eae1..668c6f9f0 100644 --- a/src/subcommands/show_themes.rs +++ b/src/subcommands/show_themes.rs @@ -1,11 +1,11 @@ use std::io::{self, ErrorKind, Read}; -use crate::bat_utils::output::{OutputType, PagingMode}; use crate::cli; use crate::config; use crate::delta; use crate::git_config; use crate::options::get::get_themes; +use crate::utils::bat::output::{OutputType, PagingMode}; pub fn show_themes(dark: bool, light: bool, computed_theme_is_light: bool) -> std::io::Result<()> { use std::io::BufReader; diff --git a/src/bat_utils/LICENSE b/src/utils/bat/LICENSE similarity index 100% rename from src/bat_utils/LICENSE rename to src/utils/bat/LICENSE diff --git a/src/bat_utils/assets.rs b/src/utils/bat/assets.rs similarity index 95% rename from src/bat_utils/assets.rs rename to src/utils/bat/assets.rs index 6715a821f..cfe0f5bd8 100644 --- a/src/bat_utils/assets.rs +++ b/src/utils/bat/assets.rs @@ -1,5 +1,5 @@ // Based on code from https://github.com/sharkdp/bat a1b9334a44a2c652f52dddaa83dbacba57372468 -// See src/bat_utils/LICENSE +// See src/utils/bat/LICENSE use std::fs::File; use std::io::{self, BufReader, Write}; @@ -11,8 +11,8 @@ use syntect::dumps::{from_binary, from_reader}; use syntect::highlighting::ThemeSet; use syntect::parsing::SyntaxSet; -use crate::bat_utils::dirs::PROJECT_DIRS; use crate::errors::*; +use crate::utils::bat::dirs::PROJECT_DIRS; pub struct HighlightingAssets { pub syntax_set: SyntaxSet, @@ -25,11 +25,11 @@ impl HighlightingAssets { } fn get_integrated_syntaxset() -> SyntaxSet { - from_binary(include_bytes!("../../etc/assets/syntaxes.bin")) + from_binary(include_bytes!("../../../etc/assets/syntaxes.bin")) } fn get_integrated_themeset() -> ThemeSet { - from_binary(include_bytes!("../../etc/assets/themes.bin")) + from_binary(include_bytes!("../../../etc/assets/themes.bin")) } fn from_cache() -> Result { diff --git a/src/bat_utils/dirs.rs b/src/utils/bat/dirs.rs similarity index 97% rename from src/bat_utils/dirs.rs rename to src/utils/bat/dirs.rs index 623b7e2c5..efaef81f9 100644 --- a/src/bat_utils/dirs.rs +++ b/src/utils/bat/dirs.rs @@ -1,5 +1,5 @@ // Based on code from https://github.com/sharkdp/bat e981e974076a926a38f124b7d8746de2ca5f0a28 -// See src/bat_utils/LICENSE +// See src/utils/bat/LICENSE use lazy_static::lazy_static; use std::path::{Path, PathBuf}; diff --git a/src/bat_utils/less.rs b/src/utils/bat/less.rs similarity index 100% rename from src/bat_utils/less.rs rename to src/utils/bat/less.rs diff --git a/src/bat_utils/mod.rs b/src/utils/bat/mod.rs similarity index 100% rename from src/bat_utils/mod.rs rename to src/utils/bat/mod.rs diff --git a/src/bat_utils/output.rs b/src/utils/bat/output.rs similarity index 99% rename from src/bat_utils/output.rs rename to src/utils/bat/output.rs index a5251a0c1..a231168b1 100644 --- a/src/bat_utils/output.rs +++ b/src/utils/bat/output.rs @@ -1,6 +1,6 @@ // https://github.com/sharkdp/bat a1b9334a44a2c652f52dddaa83dbacba57372468 // src/output.rs -// See src/bat_utils/LICENSE +// See src/utils/bat/LICENSE use std::env; use std::ffi::OsString; use std::io::{self, Write}; diff --git a/src/bat_utils/terminal.rs b/src/utils/bat/terminal.rs similarity index 100% rename from src/bat_utils/terminal.rs rename to src/utils/bat/terminal.rs diff --git a/src/utils/mod.rs b/src/utils/mod.rs new file mode 100644 index 000000000..70026dd3e --- /dev/null +++ b/src/utils/mod.rs @@ -0,0 +1,4 @@ +#[cfg(not(tarpaulin_include))] +pub mod bat; +pub mod process; +pub mod syntect; diff --git a/src/utils.rs b/src/utils/process.rs similarity index 100% rename from src/utils.rs rename to src/utils/process.rs diff --git a/src/syntect_utils.rs b/src/utils/syntect.rs similarity index 100% rename from src/syntect_utils.rs rename to src/utils/syntect.rs