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: "