diff --git a/CHANGELOG.md b/CHANGELOG.md index f5f7c1e3..ccc31f97 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ - Make highlight tests fail when new syntaxes don't have fixtures PR #3255 (@dan-hipschman) - Fix crash for multibyte characters in file path, see issue #3230 and PR #3245 (@HSM95) - Add missing mappings for various bash/zsh files, see PR #3262 (@AdamGaskins) +- Send all bat errors to stderr by default, see #3336 (@JerryImMouse) ## Other @@ -38,6 +39,7 @@ - Add syntax Typst #3300 (@cskeeters) - Map `.mill` files to Scala syntax for Mill build tool configuration files #3311 (@krikera) - Add syntax highlighting for VHDL, see #3337 (@JerryImMouse) +- Add syntax mapping for certbot certificate configuration #3338 (@cyqsimon) ## Themes diff --git a/src/error.rs b/src/error.rs index 007737b0..e5db81cc 100644 --- a/src/error.rs +++ b/src/error.rs @@ -67,7 +67,13 @@ pub fn default_error_handler(error: &Error, output: &mut dyn Write) { .ok(); } _ => { - writeln!(output, "{}: {}", Red.paint("[bat error]"), error).ok(); + writeln!( + &mut std::io::stderr().lock(), + "{}: {}", + Red.paint("[bat error]"), + error + ) + .ok(); } }; } diff --git a/src/syntax_mapping/builtins/unix-family/50-certbot.toml b/src/syntax_mapping/builtins/unix-family/50-certbot.toml new file mode 100644 index 00000000..52d47988 --- /dev/null +++ b/src/syntax_mapping/builtins/unix-family/50-certbot.toml @@ -0,0 +1,3 @@ +# See https://eff-certbot.readthedocs.io/en/stable/using.html#configuration-file +[mappings] +"INI" = ["/etc/letsencrypt/renewal/*.conf"] diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs index 5a97c517..540f85e8 100644 --- a/tests/integration_tests.rs +++ b/tests/integration_tests.rs @@ -450,6 +450,16 @@ fn stdin_to_stdout_cycle() -> io::Result<()> { Ok(()) } +#[cfg(unix)] +#[test] +fn bat_error_to_stderr() { + bat() + .arg("/tmp") + .assert() + .failure() + .stderr(predicate::str::contains("[bat error]")); +} + #[cfg(unix)] #[test] fn no_args_doesnt_break() {