From 8b12191bdac9de952d9df842b21b88aa3ceec02a Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Sun, 9 Feb 2025 20:56:51 +0200 Subject: [PATCH 1/2] Make map-syntax target case insensitive --- src/assets.rs | 9 ++++++++- tests/integration_tests.rs | 21 +++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/assets.rs b/src/assets.rs index a5608e3b..ed6f27e9 100644 --- a/src/assets.rs +++ b/src/assets.rs @@ -163,7 +163,7 @@ impl HighlightingAssets { if let Some(MappingTarget::MapTo(syntax_name)) = syntax_match { return self - .find_syntax_by_name(syntax_name)? + .find_syntax_by_token(syntax_name)? .ok_or_else(|| Error::UnknownSyntax(syntax_name.to_owned())); } @@ -259,6 +259,13 @@ impl HighlightingAssets { .map(|syntax| SyntaxReferenceInSet { syntax, syntax_set })) } + fn find_syntax_by_token(&self, token: &str) -> Result> { + let syntax_set = self.get_syntax_set()?; + Ok(syntax_set + .find_syntax_by_token(token) + .map(|syntax| SyntaxReferenceInSet { syntax, syntax_set })) + } + fn get_syntax_for_file_name( &self, file_name: &OsStr, diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs index c367c538..0f570f89 100644 --- a/tests/integration_tests.rs +++ b/tests/integration_tests.rs @@ -2821,6 +2821,27 @@ fn highlighting_independant_from_map_syntax_case() { .stderr(""); } +#[test] +fn map_syntax_target_syntax_case_insensitive() { + let expected = bat() + .arg("-f") + .arg("--map-syntax=*.config:json") + .arg("map-syntax_case.Config") + .assert() + .get_output() + .stdout + .clone(); + + bat() + .arg("-f") + .arg("--map-syntax=*.config:json") + .arg("map-syntax_case.Config") + .assert() + .success() + .stdout(expected) + .stderr(""); +} + #[test] fn strip_ansi_always_strips_ansi() { bat() From 35c3f065a360b339345c04f5a5d2acd72deb8a31 Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Sun, 9 Feb 2025 21:02:50 +0200 Subject: [PATCH 2/2] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 29ddf751..b56fbf8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ - 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) +- Make --map-syntax target case insensitive to match --language, see #3206 (@keith-hall) ## Other