Merge pull request #3075 from einfachIrgendwer0815/fix/3073_list_themes

Don't output default theme info to piped stdout
This commit is contained in:
Keith Hall 2024-10-06 22:27:18 +03:00 committed by GitHub
commit eca6b8a376
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 1 deletions

View File

@ -202,7 +202,7 @@ pub fn list_themes(cfg: &Config, config_dir: &Path, cache_dir: &Path) -> Result<
let default_theme = HighlightingAssets::default_theme(); let default_theme = HighlightingAssets::default_theme();
for theme in assets.themes() { for theme in assets.themes() {
let default_theme_info = if default_theme == theme { let default_theme_info = if !config.loop_through && default_theme == theme {
" (default)" " (default)"
} else { } else {
"" ""

View File

@ -300,6 +300,7 @@ fn list_themes_without_colors() {
bat() bat()
.arg("--color=never") .arg("--color=never")
.arg("--decorations=always") // trick bat into setting `Config::loop_through` to false
.arg("--list-themes") .arg("--list-themes")
.assert() .assert()
.success() .success()
@ -307,6 +308,15 @@ fn list_themes_without_colors() {
.stdout(predicate::str::contains(default_theme_chunk).normalize()); .stdout(predicate::str::contains(default_theme_chunk).normalize());
} }
#[test]
fn list_themes_to_piped_output() {
bat()
.arg("--list-themes")
.assert()
.success()
.stdout(predicate::str::contains("(default)").not());
}
#[test] #[test]
#[cfg_attr(any(not(feature = "git"), target_os = "windows"), ignore)] #[cfg_attr(any(not(feature = "git"), target_os = "windows"), ignore)]
fn short_help() { fn short_help() {