diff --git a/src/Languages/Html/HtmlLanguage.php b/src/Languages/Html/HtmlLanguage.php
index 41ebf90..bc2a7af 100644
--- a/src/Languages/Html/HtmlLanguage.php
+++ b/src/Languages/Html/HtmlLanguage.php
@@ -5,14 +5,18 @@
namespace Tempest\Highlight\Languages\Html;
use Override;
+use Tempest\Highlight\Languages\Base\BaseLanguage;
use Tempest\Highlight\Languages\Html\Injections\CssAttributeInHtmlInjection;
use Tempest\Highlight\Languages\Html\Injections\CssInHtmlInjection;
use Tempest\Highlight\Languages\Html\Injections\JavaScriptInHtmlInjection;
use Tempest\Highlight\Languages\Html\Injections\PhpInHtmlInjection;
use Tempest\Highlight\Languages\Html\Injections\PhpShortEchoInHtmlInjection;
-use Tempest\Highlight\Languages\Xml\XmlLanguage;
+use Tempest\Highlight\Languages\Html\Patterns\HtmlAttributePattern;
+use Tempest\Highlight\Languages\Html\Patterns\HtmlCloseTagPattern;
+use Tempest\Highlight\Languages\Html\Patterns\HtmlOpenTagPattern;
+use Tempest\Highlight\Languages\Xml\Patterns\XmlCommentPattern;
-class HtmlLanguage extends XmlLanguage
+class HtmlLanguage extends BaseLanguage
{
#[Override]
public function getName(): string
@@ -38,6 +42,10 @@ public function getPatterns(): array
{
return [
...parent::getPatterns(),
+ new HtmlOpenTagPattern(),
+ new HtmlCloseTagPattern(),
+ new HtmlAttributePattern(),
+ new XmlCommentPattern(),
];
}
}
diff --git a/src/Languages/Html/Patterns/HtmlAttributePattern.php b/src/Languages/Html/Patterns/HtmlAttributePattern.php
new file mode 100644
index 0000000..01fa3a2
--- /dev/null
+++ b/src/Languages/Html/Patterns/HtmlAttributePattern.php
@@ -0,0 +1,47 @@
+', output: 'attr')]
+#[PatternTest(input: '', output: 'href')]
+#[PatternTest(input: '', output: 'data-type')]
+#[PatternTest(input: '', output: ':foreach')]
+#[PatternTest(input: '', output: 'xmlns:xsl')]
+#[PatternTest(input: "- ", output: 'attr')]
+#[PatternTest(input: "
- ", output: 'simple')]
+#[PatternTest(input: "
- ", output: 'with-hyphen')]
+#[PatternTest(input: "
", output: ['class', 'style'])]
+#[PatternTest(input: '- ', output: 'id')]
+#[PatternTest(input: '
- ', output: 'type')]
+#[PatternTest(input: '
- ', output: 'a')]
+#[PatternTest(input: '', output: null)]
+# Not yet implemented
+# #[PatternTest(input: "