mirror of https://github.com/sharkdp/bat.git
Use new `default_theme` fn for --list-themes
This commit is contained in:
parent
1c6d40f562
commit
4409c56754
|
@ -30,13 +30,12 @@ use directories::PROJECT_DIRS;
|
|||
use globset::GlobMatcher;
|
||||
|
||||
use bat::{
|
||||
assets::HighlightingAssets,
|
||||
config::Config,
|
||||
controller::Controller,
|
||||
error::*,
|
||||
input::Input,
|
||||
style::{StyleComponent, StyleComponents},
|
||||
MappingTarget, PagingMode,
|
||||
theme, MappingTarget, PagingMode,
|
||||
};
|
||||
|
||||
const THEME_PREVIEW_DATA: &[u8] = include_bytes!("../../../assets/theme_preview.rs");
|
||||
|
@ -201,10 +200,15 @@ pub fn list_themes(cfg: &Config, config_dir: &Path, cache_dir: &Path) -> Result<
|
|||
let mut stdout = stdout.lock();
|
||||
|
||||
if config.colored_output {
|
||||
let default_theme = HighlightingAssets::default_theme();
|
||||
use theme::{color_scheme, default_theme, ColorScheme, DetectColorScheme};
|
||||
let default_theme = default_theme(color_scheme(DetectColorScheme::Auto));
|
||||
for theme in assets.themes() {
|
||||
let default_theme_info = if default_theme == theme {
|
||||
" (default)"
|
||||
} else if theme::default_theme(ColorScheme::Dark) == theme {
|
||||
" (default dark)"
|
||||
} else if theme::default_theme(ColorScheme::Light) == theme {
|
||||
" (default light)"
|
||||
} else {
|
||||
""
|
||||
};
|
||||
|
|
|
@ -19,6 +19,11 @@ pub const fn default_theme(color_scheme: ColorScheme) -> &'static str {
|
|||
}
|
||||
}
|
||||
|
||||
/// Detects the color scheme from the terminal.
|
||||
pub fn color_scheme(when: DetectColorScheme) -> ColorScheme {
|
||||
detect(when, &TerminalColorSchemeDetector).unwrap_or_default()
|
||||
}
|
||||
|
||||
/// Options for configuring the theme used for syntax highlighting.
|
||||
/// Used together with [`theme`].
|
||||
#[derive(Debug, Default, PartialEq, Eq)]
|
||||
|
|
Loading…
Reference in New Issue