From 09bb7da848ebe88880aaddae0007aaf9779ed90b Mon Sep 17 00:00:00 2001 From: Mark Date: Wed, 12 Aug 2026 21:56:27 +0200 Subject: [PATCH 1/2] fix: register text as a supported language --- src/Highlighter.php | 1 + tests/HighlighterTest.php | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/src/Highlighter.php b/src/Highlighter.php index 6c2236c..4ad8162 100644 --- a/src/Highlighter.php +++ b/src/Highlighter.php @@ -84,6 +84,7 @@ public function __construct( ->addLanguage(new ScssLanguage()) ->addLanguage(new SqlLanguage()) ->addLanguage(new TerminalLanguage()) + ->addLanguage(new TextLanguage()) ->addLanguage(new TerraformLanguage()) ->addLanguage(new TypeScriptLanguage()) ->addLanguage(new XmlLanguage()) diff --git a/tests/HighlighterTest.php b/tests/HighlighterTest.php index 1916337..b4638ac 100644 --- a/tests/HighlighterTest.php +++ b/tests/HighlighterTest.php @@ -151,4 +151,14 @@ public function test_fallback_language(): void $highlighted, ); } + + #[Test] + public function text_language_does_not_use_the_configured_fallback_language(): void + { + $highlighter = new Highlighter(fallbackLanguage: new PhpLanguage()); + + $this->assertSame('mcp:list', $highlighter->parse('mcp:list', 'txt')); + $this->assertSame('resources/list', $highlighter->parse('resources/list', 'text')); + $this->assertSame('Sec-Fetch-Site', $highlighter->parse('Sec-Fetch-Site', 'txt')); + } } From 4a6b37df4b50695d9ee771829d8f98155bf84ac2 Mon Sep 17 00:00:00 2001 From: Mark Date: Wed, 12 Aug 2026 23:46:05 +0200 Subject: [PATCH 2/2] fix: add text benchmark fixture --- tests/Bench/Fixtures/text.txt | 3 +++ tests/Bench/HighlighterBench.php | 1 + 2 files changed, 4 insertions(+) create mode 100644 tests/Bench/Fixtures/text.txt diff --git a/tests/Bench/Fixtures/text.txt b/tests/Bench/Fixtures/text.txt new file mode 100644 index 0000000..024e04d --- /dev/null +++ b/tests/Bench/Fixtures/text.txt @@ -0,0 +1,3 @@ +Plain text may contain protocol method names such as resources/list and mcp:list. +It may also contain HTTP header names such as Sec-Fetch-Site. +No syntax highlighting should be applied to this content. diff --git a/tests/Bench/HighlighterBench.php b/tests/Bench/HighlighterBench.php index f44f669..da86b8b 100644 --- a/tests/Bench/HighlighterBench.php +++ b/tests/Bench/HighlighterBench.php @@ -42,6 +42,7 @@ final class HighlighterBench 'terminal' => 'terminal.txt', 'terraform' => 'terraform.txt', 'typescript' => 'typescript.txt', + 'txt' => 'text.txt', 'twig' => 'twig.txt', 'vue' => 'vue.txt', 'xml' => 'xml.txt',