From f6b151c14051cb21ec5a5c1b3cee6d019dde9542 Mon Sep 17 00:00:00 2001 From: "Theodore R. Smith" Date: Mon, 23 Dec 2024 08:37:44 -0600 Subject: [PATCH 1/4] PHP 8.1 code improvements and hardenings. --- src/CommonMark/CodeBlockRenderer.php | 2 +- src/CommonMark/HighlightExtension.php | 2 +- src/CommonMark/InlineCodeBlockRenderer.php | 2 +- src/IsInjection.php | 2 +- src/IsPattern.php | 2 +- src/Languages/Base/Injections/GutterInjection.php | 2 +- src/Languages/Ellison/Injections/ParserInjection.php | 6 +++--- src/Languages/Php/Injections/PhpGenericTypeInjection.php | 2 +- src/Tokens/RenderTokens.php | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/CommonMark/CodeBlockRenderer.php b/src/CommonMark/CodeBlockRenderer.php index 0e56184..c5325c9 100644 --- a/src/CommonMark/CodeBlockRenderer.php +++ b/src/CommonMark/CodeBlockRenderer.php @@ -15,7 +15,7 @@ final class CodeBlockRenderer implements NodeRendererInterface { public function __construct( - private Highlighter $highlighter = new Highlighter(), + private readonly Highlighter $highlighter = new Highlighter(), ) { } diff --git a/src/CommonMark/HighlightExtension.php b/src/CommonMark/HighlightExtension.php index 1f1efbd..9d8c6ab 100644 --- a/src/CommonMark/HighlightExtension.php +++ b/src/CommonMark/HighlightExtension.php @@ -13,7 +13,7 @@ final class HighlightExtension implements ExtensionInterface { public function __construct( - private ?Highlighter $highlighter = new Highlighter(), + private readonly ?Highlighter $highlighter = new Highlighter(), ) { } diff --git a/src/CommonMark/InlineCodeBlockRenderer.php b/src/CommonMark/InlineCodeBlockRenderer.php index d5007cc..23eca64 100644 --- a/src/CommonMark/InlineCodeBlockRenderer.php +++ b/src/CommonMark/InlineCodeBlockRenderer.php @@ -14,7 +14,7 @@ final class InlineCodeBlockRenderer implements NodeRendererInterface { public function __construct( - private Highlighter $highlighter = new Highlighter(), + private readonly Highlighter $highlighter = new Highlighter(), ) { } diff --git a/src/IsInjection.php b/src/IsInjection.php index e5ccdc3..270b8ea 100644 --- a/src/IsInjection.php +++ b/src/IsInjection.php @@ -14,7 +14,7 @@ public function parse(string $content, Highlighter $highlighter): ParsedInjectio { $pattern = $this->getPattern(); - if (! str_starts_with($pattern, '/')) { + if (! str_starts_with((string) $pattern, '/')) { $pattern = "/{$pattern}/"; } diff --git a/src/IsPattern.php b/src/IsPattern.php index a0d1926..934936a 100644 --- a/src/IsPattern.php +++ b/src/IsPattern.php @@ -12,7 +12,7 @@ public function match(string $content): array { $pattern = $this->getPattern(); - if (! str_starts_with($pattern, '/')) { + if (! str_starts_with((string) $pattern, '/')) { $pattern = "/$pattern/"; } diff --git a/src/Languages/Base/Injections/GutterInjection.php b/src/Languages/Base/Injections/GutterInjection.php index 3b2d1f6..c8ab133 100644 --- a/src/Languages/Base/Injections/GutterInjection.php +++ b/src/Languages/Base/Injections/GutterInjection.php @@ -15,7 +15,7 @@ final class GutterInjection implements Injection private array $icons = []; private array $classes = []; - public function __construct(private int $startAt = 1) + public function __construct(private readonly int $startAt = 1) { } diff --git a/src/Languages/Ellison/Injections/ParserInjection.php b/src/Languages/Ellison/Injections/ParserInjection.php index 5222c80..1e5f323 100644 --- a/src/Languages/Ellison/Injections/ParserInjection.php +++ b/src/Languages/Ellison/Injections/ParserInjection.php @@ -33,7 +33,7 @@ public function parseContent(string $content, Highlighter $highlighter): string foreach ($sentences as $sentence) { ['text' => $text, 'type' => $type] = $sentence; - $text = trim($text); + $text = trim((string) $text); $parsedParagraph .= Escape::tokens("") @@ -59,9 +59,9 @@ private function parseSentence(Ellison $ellison, string $sentence): string foreach ($problems as $problem) { $sentence = preg_replace( - "/" . preg_quote($problem['text']) . "/i", + "/" . preg_quote((string) $problem['text']) . "/i", Escape::tokens("") . $problem['text'] . Escape::tokens(""), - $sentence, + (string) $sentence, ); } diff --git a/src/Languages/Php/Injections/PhpGenericTypeInjection.php b/src/Languages/Php/Injections/PhpGenericTypeInjection.php index 0b458f3..20339de 100644 --- a/src/Languages/Php/Injections/PhpGenericTypeInjection.php +++ b/src/Languages/Php/Injections/PhpGenericTypeInjection.php @@ -36,7 +36,7 @@ public function parse(string $content, Highlighter $highlighter): ParsedInjectio Escape::tokens($theme->before(TokenTypeEnum::GENERIC)) . $genericType . Escape::tokens($theme->after(TokenTypeEnum::GENERIC)), - $content, + (string) $content, ); } diff --git a/src/Tokens/RenderTokens.php b/src/Tokens/RenderTokens.php index 12d1e07..140cb49 100644 --- a/src/Tokens/RenderTokens.php +++ b/src/Tokens/RenderTokens.php @@ -10,7 +10,7 @@ final class RenderTokens { public function __construct( - private Theme $theme, + private readonly Theme $theme, ) { } From 8684bdd9942cd5e63434971434a6294dfd062ce1 Mon Sep 17 00:00:00 2001 From: "Theodore R. Smith" Date: Mon, 23 Dec 2024 08:38:59 -0600 Subject: [PATCH 2/4] PHP 8.2 code hardenings. --- src/CommonMark/CodeBlockRenderer.php | 4 ++-- src/CommonMark/HighlightExtension.php | 4 ++-- src/CommonMark/InlineCodeBlockRenderer.php | 4 ++-- src/Languages/Gdscript/Patterns/KeywordPattern.php | 4 ++-- src/Languages/Gdscript/Patterns/OperatorPattern.php | 4 ++-- src/Languages/Twig/Patterns/TwigTokenPattern.php | 6 +++--- src/Tokens/RenderTokens.php | 4 ++-- 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/CommonMark/CodeBlockRenderer.php b/src/CommonMark/CodeBlockRenderer.php index c5325c9..be075fe 100644 --- a/src/CommonMark/CodeBlockRenderer.php +++ b/src/CommonMark/CodeBlockRenderer.php @@ -12,10 +12,10 @@ use Tempest\Highlight\Highlighter; use Tempest\Highlight\WebTheme; -final class CodeBlockRenderer implements NodeRendererInterface +final readonly class CodeBlockRenderer implements NodeRendererInterface { public function __construct( - private readonly Highlighter $highlighter = new Highlighter(), + private Highlighter $highlighter = new Highlighter(), ) { } diff --git a/src/CommonMark/HighlightExtension.php b/src/CommonMark/HighlightExtension.php index 9d8c6ab..1215a27 100644 --- a/src/CommonMark/HighlightExtension.php +++ b/src/CommonMark/HighlightExtension.php @@ -10,10 +10,10 @@ use League\CommonMark\Extension\ExtensionInterface; use Tempest\Highlight\Highlighter; -final class HighlightExtension implements ExtensionInterface +final readonly class HighlightExtension implements ExtensionInterface { public function __construct( - private readonly ?Highlighter $highlighter = new Highlighter(), + private ?Highlighter $highlighter = new Highlighter(), ) { } diff --git a/src/CommonMark/InlineCodeBlockRenderer.php b/src/CommonMark/InlineCodeBlockRenderer.php index 23eca64..8d146eb 100644 --- a/src/CommonMark/InlineCodeBlockRenderer.php +++ b/src/CommonMark/InlineCodeBlockRenderer.php @@ -11,10 +11,10 @@ use League\CommonMark\Renderer\NodeRendererInterface; use Tempest\Highlight\Highlighter; -final class InlineCodeBlockRenderer implements NodeRendererInterface +final readonly class InlineCodeBlockRenderer implements NodeRendererInterface { public function __construct( - private readonly Highlighter $highlighter = new Highlighter(), + private Highlighter $highlighter = new Highlighter(), ) { } diff --git a/src/Languages/Gdscript/Patterns/KeywordPattern.php b/src/Languages/Gdscript/Patterns/KeywordPattern.php index 6b8bee3..3ec08b4 100644 --- a/src/Languages/Gdscript/Patterns/KeywordPattern.php +++ b/src/Languages/Gdscript/Patterns/KeywordPattern.php @@ -8,11 +8,11 @@ use Tempest\Highlight\Pattern; use Tempest\Highlight\Tokens\TokenTypeEnum; -final class KeywordPattern implements Pattern +final readonly class KeywordPattern implements Pattern { use IsPattern; - public function __construct(private readonly string $keyword) + public function __construct(private string $keyword) { } diff --git a/src/Languages/Gdscript/Patterns/OperatorPattern.php b/src/Languages/Gdscript/Patterns/OperatorPattern.php index 92f1382..e6dcdda 100644 --- a/src/Languages/Gdscript/Patterns/OperatorPattern.php +++ b/src/Languages/Gdscript/Patterns/OperatorPattern.php @@ -8,11 +8,11 @@ use Tempest\Highlight\Pattern; use Tempest\Highlight\Tokens\TokenTypeEnum; -final class OperatorPattern implements Pattern +final readonly class OperatorPattern implements Pattern { use IsPattern; - public function __construct(private readonly string $operator) + public function __construct(private string $operator) { } diff --git a/src/Languages/Twig/Patterns/TwigTokenPattern.php b/src/Languages/Twig/Patterns/TwigTokenPattern.php index 50a5eff..f8fa664 100644 --- a/src/Languages/Twig/Patterns/TwigTokenPattern.php +++ b/src/Languages/Twig/Patterns/TwigTokenPattern.php @@ -8,13 +8,13 @@ use Tempest\Highlight\Pattern; use Tempest\Highlight\Tokens\TokenTypeEnum; -final class TwigTokenPattern implements Pattern +final readonly class TwigTokenPattern implements Pattern { use IsPattern; public function __construct( - private readonly string $regex, - private readonly TokenTypeEnum $type, + private string $regex, + private TokenTypeEnum $type, ) { } diff --git a/src/Tokens/RenderTokens.php b/src/Tokens/RenderTokens.php index 140cb49..54a4b09 100644 --- a/src/Tokens/RenderTokens.php +++ b/src/Tokens/RenderTokens.php @@ -7,10 +7,10 @@ use Tempest\Highlight\Escape; use Tempest\Highlight\Theme; -final class RenderTokens +final readonly class RenderTokens { public function __construct( - private readonly Theme $theme, + private Theme $theme, ) { } From 55f413248408509f0cb0c1d220c081b505aa3a2b Mon Sep 17 00:00:00 2001 From: "Theodore R. Smith" Date: Mon, 23 Dec 2024 08:42:09 -0600 Subject: [PATCH 3/4] PHP 8.3: Added #[Override] for every overriden method. --- src/CommonMark/CodeBlockRenderer.php | 1 + src/CommonMark/HighlightExtension.php | 1 + src/CommonMark/InlineCodeBlockRenderer.php | 1 + src/Languages/Base/BaseLanguage.php | 3 +++ src/Languages/Base/Injections/AdditionInjection.php | 1 + src/Languages/Base/Injections/CustomClassInjection.php | 1 + src/Languages/Base/Injections/DeletionInjection.php | 1 + src/Languages/Base/Injections/GutterInjection.php | 1 + src/Languages/Base/Patterns/AdditionEndTokenPattern.php | 2 ++ src/Languages/Base/Patterns/AdditionStartTokenPattern.php | 2 ++ src/Languages/Base/Patterns/DeletionEndTokenPattern.php | 2 ++ src/Languages/Base/Patterns/DeletionStartTokenPattern.php | 2 ++ src/Languages/Base/Patterns/InjectionTokenPattern.php | 2 ++ src/Languages/Blade/BladeLanguage.php | 3 +++ src/Languages/Blade/Injections/BladeEchoInjection.php | 2 ++ src/Languages/Blade/Injections/BladeKeywordInjection.php | 2 ++ src/Languages/Blade/Injections/BladePhpInjection.php | 2 ++ src/Languages/Blade/Injections/BladeRawEchoInjection.php | 2 ++ src/Languages/Blade/Patterns/BladeCommentPattern.php | 2 ++ .../Blade/Patterns/BladeComponentCloseTagPattern.php | 2 ++ src/Languages/Blade/Patterns/BladeComponentOpenTagPattern.php | 2 ++ src/Languages/Blade/Patterns/BladeKeywordPattern.php | 2 ++ src/Languages/Css/CssLanguage.php | 3 +++ src/Languages/Css/Patterns/CssAttributePattern.php | 2 ++ src/Languages/Css/Patterns/CssCommentPattern.php | 2 ++ src/Languages/Css/Patterns/CssFunctionPattern.php | 2 ++ src/Languages/Css/Patterns/CssImportPattern.php | 2 ++ src/Languages/Css/Patterns/CssMediaQueryPattern.php | 2 ++ src/Languages/Css/Patterns/CssSelectorPattern.php | 2 ++ src/Languages/Css/Patterns/CssVariablePattern.php | 2 ++ src/Languages/Diff/DiffLanguage.php | 2 ++ src/Languages/DocComment/DocCommentLanguage.php | 3 +++ src/Languages/DocComment/Patterns/DocCommentTagPattern.php | 2 ++ src/Languages/Dockerfile/DockerfileLanguage.php | 3 +++ .../Dockerfile/Patterns/ImageAliasKeywordPattern.php | 2 ++ src/Languages/Dockerfile/Patterns/ImageAliasNamePattern.php | 2 ++ src/Languages/Dockerfile/Patterns/ImageNamePattern.php | 2 ++ src/Languages/Dockerfile/Patterns/ImageTagPattern.php | 2 ++ src/Languages/Dockerfile/Patterns/KeywordPattern.php | 2 ++ src/Languages/Ellison/EllisonLanguage.php | 2 ++ src/Languages/Ellison/Injections/ParserInjection.php | 2 ++ src/Languages/Gdscript/GdscriptLanguage.php | 3 +++ src/Languages/Gdscript/Patterns/AnnotationPattern.php | 2 ++ src/Languages/Gdscript/Patterns/AsTypePattern.php | 2 ++ src/Languages/Gdscript/Patterns/ClassNamePattern.php | 2 ++ src/Languages/Gdscript/Patterns/DoubleQuoteValuePattern.php | 2 ++ src/Languages/Gdscript/Patterns/ExtendsPattern.php | 2 ++ src/Languages/Gdscript/Patterns/FunctionCallPattern.php | 2 ++ src/Languages/Gdscript/Patterns/FunctionNamePattern.php | 2 ++ src/Languages/Gdscript/Patterns/KeywordPattern.php | 2 ++ src/Languages/Gdscript/Patterns/OperatorPattern.php | 2 ++ src/Languages/Gdscript/Patterns/PropertyAccessPattern.php | 2 ++ src/Languages/Gdscript/Patterns/ReturnTypePattern.php | 2 ++ src/Languages/Gdscript/Patterns/SingleQuoteValuePattern.php | 2 ++ src/Languages/Gdscript/Patterns/SinglelineCommentPattern.php | 2 ++ src/Languages/Gdscript/Patterns/VarTypePattern.php | 2 ++ src/Languages/Html/HtmlLanguage.php | 3 +++ src/Languages/Html/Injections/CssAttributeInHtmlInjection.php | 2 ++ src/Languages/Html/Injections/CssInHtmlInjection.php | 2 ++ src/Languages/Html/Injections/JavaScriptInHtmlInjection.php | 2 ++ src/Languages/Html/Injections/PhpInHtmlInjection.php | 2 ++ src/Languages/Html/Injections/PhpShortEchoInHtmlInjection.php | 2 ++ src/Languages/JavaScript/Injections/JsDocInjection.php | 2 ++ src/Languages/JavaScript/JavaScriptLanguage.php | 4 ++++ src/Languages/JavaScript/JsDocLanguage.php | 2 ++ src/Languages/JavaScript/Patterns/JsClassNamePattern.php | 2 ++ src/Languages/JavaScript/Patterns/JsDocParamNamePattern.php | 2 ++ src/Languages/JavaScript/Patterns/JsDocTypePattern.php | 2 ++ .../JavaScript/Patterns/JsDoubleQuoteValuePattern.php | 2 ++ src/Languages/JavaScript/Patterns/JsKeywordPattern.php | 2 ++ src/Languages/JavaScript/Patterns/JsMethodPattern.php | 2 ++ .../JavaScript/Patterns/JsMultilineCommentPattern.php | 2 ++ src/Languages/JavaScript/Patterns/JsNewObjectPattern.php | 2 ++ src/Languages/JavaScript/Patterns/JsObjectPropertyPattern.php | 2 ++ src/Languages/JavaScript/Patterns/JsPropertyPattern.php | 2 ++ .../JavaScript/Patterns/JsSingleQuoteValuePattern.php | 2 ++ .../JavaScript/Patterns/JsSinglelineCommentPattern.php | 2 ++ src/Languages/JavaScript/Patterns/JsStaticClassPattern.php | 2 ++ src/Languages/JavaScript/Patterns/JsStaticPropertyPattern.php | 2 ++ src/Languages/Json/JsonLanguage.php | 3 +++ src/Languages/Json/Patterns/JsonAccoladesPattern.php | 2 ++ src/Languages/Json/Patterns/JsonArrayBracketsPattern.php | 2 ++ src/Languages/Json/Patterns/JsonDoubleQuoteValuePattern.php | 2 ++ src/Languages/Json/Patterns/JsonPropertyPattern.php | 2 ++ .../Php/Injections/PhpAttributeInstanceInjection.php | 2 ++ src/Languages/Php/Injections/PhpAttributePlainInjection.php | 2 ++ src/Languages/Php/Injections/PhpDocCommentInjection.php | 2 ++ .../Php/Injections/PhpFunctionParametersInjection.php | 2 ++ src/Languages/Php/Injections/PhpGenericTypeInjection.php | 1 + src/Languages/Php/Injections/PhpHeredocInjection.php | 1 + src/Languages/Php/Patterns/AttributeTypePattern.php | 2 ++ src/Languages/Php/Patterns/CatchTypePattern.php | 2 ++ src/Languages/Php/Patterns/ClassNamePattern.php | 2 ++ src/Languages/Php/Patterns/ClassPropertyPattern.php | 2 ++ src/Languages/Php/Patterns/ClassResolutionPattern.php | 2 ++ src/Languages/Php/Patterns/ConstantNamePattern.php | 2 ++ src/Languages/Php/Patterns/ConstantPropertyPattern.php | 2 ++ src/Languages/Php/Patterns/ConstantTypesPattern.php | 2 ++ src/Languages/Php/Patterns/DoubleQuoteValuePattern.php | 2 ++ src/Languages/Php/Patterns/EnumBackedTypePattern.php | 2 ++ src/Languages/Php/Patterns/EnumCasePattern.php | 2 ++ src/Languages/Php/Patterns/ExtendsPattern.php | 2 ++ src/Languages/Php/Patterns/FunctionCallPattern.php | 2 ++ src/Languages/Php/Patterns/FunctionNamePattern.php | 2 ++ src/Languages/Php/Patterns/GenericPattern.php | 2 ++ src/Languages/Php/Patterns/GroupedTypePattern.php | 2 ++ src/Languages/Php/Patterns/ImplementsPattern.php | 2 ++ src/Languages/Php/Patterns/InstanceOfPattern.php | 2 ++ src/Languages/Php/Patterns/KeywordPattern.php | 2 ++ .../Php/Patterns/MultilineSingleDocCommentPattern.php | 2 ++ src/Languages/Php/Patterns/NamedArgumentPattern.php | 2 ++ src/Languages/Php/Patterns/NamespacePattern.php | 2 ++ src/Languages/Php/Patterns/NestedFunctionCallPattern.php | 2 ++ src/Languages/Php/Patterns/NewObjectPattern.php | 2 ++ src/Languages/Php/Patterns/OperatorPattern.php | 2 ++ src/Languages/Php/Patterns/PhpAsymmetricPropertyPattern.php | 3 +++ src/Languages/Php/Patterns/PhpCloseTagPattern.php | 2 ++ .../Php/Patterns/PhpDocCommentGenericTypePattern.php | 2 ++ src/Languages/Php/Patterns/PhpDocCommentParamTypePattern.php | 2 ++ src/Languages/Php/Patterns/PhpDocCommentReturnTypePattern.php | 2 ++ .../Php/Patterns/PhpDocCommentReturnTypeSingleLinePattern.php | 2 ++ .../Php/Patterns/PhpDocCommentTemplateTypePattern.php | 2 ++ src/Languages/Php/Patterns/PhpDocCommentVarTypePattern.php | 2 ++ src/Languages/Php/Patterns/PhpDocCommentVariablePattern.php | 2 ++ src/Languages/Php/Patterns/PhpOpenTagPattern.php | 2 ++ src/Languages/Php/Patterns/PropertyAccessPattern.php | 2 ++ src/Languages/Php/Patterns/PropertyHookGetPattern.php | 2 ++ .../Php/Patterns/PropertyHookSetParameterTypePattern.php | 2 ++ src/Languages/Php/Patterns/PropertyHookSetPattern.php | 2 ++ src/Languages/Php/Patterns/PropertyTypesPattern.php | 2 ++ src/Languages/Php/Patterns/ReturnTypePattern.php | 2 ++ src/Languages/Php/Patterns/ShortFunctionReferencePattern.php | 2 ++ src/Languages/Php/Patterns/SingleQuoteValuePattern.php | 2 ++ src/Languages/Php/Patterns/SinglelineCommentPattern.php | 2 ++ src/Languages/Php/Patterns/StaticClassCallPattern.php | 2 ++ src/Languages/Php/Patterns/StaticPropertyPattern.php | 2 ++ src/Languages/Php/Patterns/TypeForVariablePattern.php | 2 ++ src/Languages/Php/Patterns/UntypedClassPropertyPattern.php | 2 ++ src/Languages/Php/Patterns/UseAsPattern.php | 2 ++ src/Languages/Php/Patterns/UseFunctionNamePattern.php | 2 ++ src/Languages/Php/Patterns/UseFunctionPattern.php | 2 ++ src/Languages/Php/Patterns/UsePattern.php | 2 ++ src/Languages/Php/Patterns/VariablePattern.php | 2 ++ src/Languages/Php/PhpDocCommentLanguage.php | 3 +++ src/Languages/Php/PhpLanguage.php | 3 +++ src/Languages/Php/PhpTypeLanguage.php | 3 +++ src/Languages/Python/Patterns/PyArgumentPattern.php | 2 ++ src/Languages/Python/Patterns/PyBuiltinPattern.php | 2 ++ src/Languages/Python/Patterns/PyClassNamePattern.php | 2 ++ src/Languages/Python/Patterns/PyCommentPattern.php | 2 ++ src/Languages/Python/Patterns/PyDecoratorPattern.php | 2 ++ src/Languages/Python/Patterns/PyFunctionPattern.php | 2 ++ src/Languages/Python/Patterns/PyKeywordPattern.php | 2 ++ src/Languages/Python/Patterns/PyLogicalValuePattern.php | 2 ++ src/Languages/Python/Patterns/PyNumberPattern.php | 2 ++ src/Languages/Python/Patterns/PyOperatorPattern.php | 2 ++ .../Python/Patterns/PyTripleDoubleQuoteStringPattern.php | 2 ++ .../Python/Patterns/PyTripleSingleQuoteStringPattern.php | 2 ++ src/Languages/Python/PythonLanguage.php | 4 ++++ src/Languages/Sql/Patterns/SqlAsTablePattern.php | 2 ++ src/Languages/Sql/Patterns/SqlDoubleQuoteValuePattern.php | 2 ++ src/Languages/Sql/Patterns/SqlFromTablePattern.php | 2 ++ src/Languages/Sql/Patterns/SqlFunctionPattern.php | 2 ++ src/Languages/Sql/Patterns/SqlJoinTablePattern.php | 2 ++ src/Languages/Sql/Patterns/SqlMultilineCommentPattern.php | 2 ++ src/Languages/Sql/Patterns/SqlPropertyPattern.php | 2 ++ src/Languages/Sql/Patterns/SqlSingleQuoteValuePattern.php | 2 ++ src/Languages/Sql/Patterns/SqlSinglelineCommentPattern.php | 2 ++ src/Languages/Sql/Patterns/SqlTableAccessPattern.php | 2 ++ src/Languages/Sql/Patterns/SqlTablePropertyPattern.php | 2 ++ src/Languages/Sql/SqlLanguage.php | 3 +++ src/Languages/Text/TextLanguage.php | 2 ++ src/Languages/Twig/Injections/TwigEchoInjection.php | 2 ++ src/Languages/Twig/Injections/TwigTagInjection.php | 2 ++ src/Languages/Twig/Patterns/TwigArrayKeyPattern.php | 2 ++ src/Languages/Twig/Patterns/TwigCommentPattern.php | 2 ++ src/Languages/Twig/Patterns/TwigDoubleQuoteValuePattern.php | 2 ++ src/Languages/Twig/Patterns/TwigFilterPattern.php | 2 ++ src/Languages/Twig/Patterns/TwigKeywordPattern.php | 2 ++ src/Languages/Twig/Patterns/TwigMethodPattern.php | 2 ++ src/Languages/Twig/Patterns/TwigNamedArgumentPattern.php | 2 ++ src/Languages/Twig/Patterns/TwigPropertyPattern.php | 2 ++ src/Languages/Twig/Patterns/TwigSingleQuoteValuePattern.php | 2 ++ src/Languages/Twig/Patterns/TwigTokenPattern.php | 2 ++ src/Languages/Twig/TwigEchoLanguage.php | 2 ++ src/Languages/Twig/TwigLanguage.php | 3 +++ src/Languages/Twig/TwigTagLanguage.php | 2 ++ src/Languages/Xml/Patterns/XmlAttributePattern.php | 2 ++ src/Languages/Xml/Patterns/XmlCloseTagPattern.php | 2 ++ src/Languages/Xml/Patterns/XmlCommentPattern.php | 2 ++ src/Languages/Xml/Patterns/XmlOpenTagPattern.php | 2 ++ src/Languages/Xml/XmlLanguage.php | 3 +++ src/Languages/Yaml/Patterns/YamlArrayBracketsPattern.php | 2 ++ src/Languages/Yaml/Patterns/YamlColonPattern.php | 2 ++ src/Languages/Yaml/Patterns/YamlCommentPattern.php | 2 ++ src/Languages/Yaml/Patterns/YamlDashPattern.php | 2 ++ .../Yaml/Patterns/YamlDoubleAccoladesValuePattern.php | 2 ++ src/Languages/Yaml/Patterns/YamlDoubleQuoteValuePattern.php | 2 ++ src/Languages/Yaml/Patterns/YamlObjectBracketsPattern.php | 2 ++ src/Languages/Yaml/Patterns/YamlPipePattern.php | 2 ++ src/Languages/Yaml/Patterns/YamlPropertyPattern.php | 2 ++ src/Languages/Yaml/Patterns/YamlSingleQuoteValuePattern.php | 2 ++ src/Languages/Yaml/Patterns/YamlVariablePattern.php | 2 ++ src/Languages/Yaml/YamlLanguage.php | 4 ++++ src/Themes/CssTheme.php | 4 ++++ src/Themes/InlineTheme.php | 4 ++++ src/Themes/LightTerminalTheme.php | 2 ++ src/Tokens/DynamicTokenType.php | 2 ++ src/Tokens/IgnoreTokenType.php | 2 ++ 209 files changed, 434 insertions(+) diff --git a/src/CommonMark/CodeBlockRenderer.php b/src/CommonMark/CodeBlockRenderer.php index be075fe..54d0224 100644 --- a/src/CommonMark/CodeBlockRenderer.php +++ b/src/CommonMark/CodeBlockRenderer.php @@ -19,6 +19,7 @@ public function __construct( ) { } + #[\Override] public function render(Node $node, ChildNodeRendererInterface $childRenderer) { if (! $node instanceof FencedCode) { diff --git a/src/CommonMark/HighlightExtension.php b/src/CommonMark/HighlightExtension.php index 1215a27..ebfc147 100644 --- a/src/CommonMark/HighlightExtension.php +++ b/src/CommonMark/HighlightExtension.php @@ -17,6 +17,7 @@ public function __construct( ) { } + #[\Override] public function register(EnvironmentBuilderInterface $environment): void { $environment diff --git a/src/CommonMark/InlineCodeBlockRenderer.php b/src/CommonMark/InlineCodeBlockRenderer.php index 8d146eb..d0e6474 100644 --- a/src/CommonMark/InlineCodeBlockRenderer.php +++ b/src/CommonMark/InlineCodeBlockRenderer.php @@ -18,6 +18,7 @@ public function __construct( ) { } + #[\Override] public function render(Node $node, ChildNodeRendererInterface $childRenderer) { if (! $node instanceof Code) { diff --git a/src/Languages/Base/BaseLanguage.php b/src/Languages/Base/BaseLanguage.php index dd24020..0cf954a 100644 --- a/src/Languages/Base/BaseLanguage.php +++ b/src/Languages/Base/BaseLanguage.php @@ -19,11 +19,13 @@ abstract class BaseLanguage implements Language { + #[\Override] public function getAliases(): array { return []; } + #[\Override] public function getInjections(): array { return [ @@ -36,6 +38,7 @@ public function getInjections(): array ]; } + #[\Override] public function getPatterns(): array { return [ diff --git a/src/Languages/Base/Injections/AdditionInjection.php b/src/Languages/Base/Injections/AdditionInjection.php index f27cba9..8a0efae 100644 --- a/src/Languages/Base/Injections/AdditionInjection.php +++ b/src/Languages/Base/Injections/AdditionInjection.php @@ -13,6 +13,7 @@ #[After] final readonly class AdditionInjection implements Injection { + #[\Override] public function parse(string $content, Highlighter $highlighter): ParsedInjection { // Standardize line endings diff --git a/src/Languages/Base/Injections/CustomClassInjection.php b/src/Languages/Base/Injections/CustomClassInjection.php index 460105f..0e740d8 100644 --- a/src/Languages/Base/Injections/CustomClassInjection.php +++ b/src/Languages/Base/Injections/CustomClassInjection.php @@ -12,6 +12,7 @@ final readonly class CustomClassInjection implements Injection { + #[\Override] public function parse(string $content, Highlighter $highlighter): ParsedInjection { $pattern = '/(?{\:(?[\w-]+)\:)(?(.|\n)*?)(?:})/'; diff --git a/src/Languages/Base/Injections/DeletionInjection.php b/src/Languages/Base/Injections/DeletionInjection.php index b3a1ef8..1630ac2 100644 --- a/src/Languages/Base/Injections/DeletionInjection.php +++ b/src/Languages/Base/Injections/DeletionInjection.php @@ -13,6 +13,7 @@ #[After] final readonly class DeletionInjection implements Injection { + #[\Override] public function parse(string $content, Highlighter $highlighter): ParsedInjection { // Standardize line endings diff --git a/src/Languages/Base/Injections/GutterInjection.php b/src/Languages/Base/Injections/GutterInjection.php index c8ab133..61b9808 100644 --- a/src/Languages/Base/Injections/GutterInjection.php +++ b/src/Languages/Base/Injections/GutterInjection.php @@ -33,6 +33,7 @@ public function addClass(int $line, string $class): self return $this; } + #[\Override] public function parse(string $content, Highlighter $highlighter): ParsedInjection { $lines = preg_split('/\R/u', trim($content, "\n")); diff --git a/src/Languages/Base/Patterns/AdditionEndTokenPattern.php b/src/Languages/Base/Patterns/AdditionEndTokenPattern.php index 5807a49..7bdc514 100644 --- a/src/Languages/Base/Patterns/AdditionEndTokenPattern.php +++ b/src/Languages/Base/Patterns/AdditionEndTokenPattern.php @@ -15,11 +15,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return '/(?\+})/'; } + #[\Override] public function getTokenType(): TokenType { return new IgnoreTokenType(); diff --git a/src/Languages/Base/Patterns/AdditionStartTokenPattern.php b/src/Languages/Base/Patterns/AdditionStartTokenPattern.php index 8355b1a..eadf0db 100644 --- a/src/Languages/Base/Patterns/AdditionStartTokenPattern.php +++ b/src/Languages/Base/Patterns/AdditionStartTokenPattern.php @@ -15,11 +15,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return '/(?{\+)/'; } + #[\Override] public function getTokenType(): TokenType { return new IgnoreTokenType(); diff --git a/src/Languages/Base/Patterns/DeletionEndTokenPattern.php b/src/Languages/Base/Patterns/DeletionEndTokenPattern.php index f40d9a9..8bd3010 100644 --- a/src/Languages/Base/Patterns/DeletionEndTokenPattern.php +++ b/src/Languages/Base/Patterns/DeletionEndTokenPattern.php @@ -16,11 +16,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return '/(?\-})/'; } + #[\Override] public function getTokenType(): TokenType { return new IgnoreTokenType(); diff --git a/src/Languages/Base/Patterns/DeletionStartTokenPattern.php b/src/Languages/Base/Patterns/DeletionStartTokenPattern.php index 7a7977d..635aa57 100644 --- a/src/Languages/Base/Patterns/DeletionStartTokenPattern.php +++ b/src/Languages/Base/Patterns/DeletionStartTokenPattern.php @@ -16,11 +16,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return '/(?{\-)(?!-)/'; } + #[\Override] public function getTokenType(): TokenType { return new IgnoreTokenType(); diff --git a/src/Languages/Base/Patterns/InjectionTokenPattern.php b/src/Languages/Base/Patterns/InjectionTokenPattern.php index d3fc47f..7a6c366 100644 --- a/src/Languages/Base/Patterns/InjectionTokenPattern.php +++ b/src/Languages/Base/Patterns/InjectionTokenPattern.php @@ -13,11 +13,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return Escape::INJECTION_TOKEN . '(?(.|\n)*?)' . Escape::INJECTION_TOKEN; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::INJECTION; diff --git a/src/Languages/Blade/BladeLanguage.php b/src/Languages/Blade/BladeLanguage.php index b4740d2..81320db 100644 --- a/src/Languages/Blade/BladeLanguage.php +++ b/src/Languages/Blade/BladeLanguage.php @@ -16,11 +16,13 @@ class BladeLanguage extends HtmlLanguage { + #[\Override] public function getName(): string { return 'blade'; } + #[\Override] public function getInjections(): array { return [ @@ -32,6 +34,7 @@ public function getInjections(): array ]; } + #[\Override] public function getPatterns(): array { return [ diff --git a/src/Languages/Blade/Injections/BladeEchoInjection.php b/src/Languages/Blade/Injections/BladeEchoInjection.php index d9ab491..c694985 100644 --- a/src/Languages/Blade/Injections/BladeEchoInjection.php +++ b/src/Languages/Blade/Injections/BladeEchoInjection.php @@ -12,11 +12,13 @@ { use IsInjection; + #[\Override] public function getPattern(): string { return '({{(?!--))(?.*)(}})'; } + #[\Override] public function parseContent(string $content, Highlighter $highlighter): string { return $highlighter->parse($content, 'php'); diff --git a/src/Languages/Blade/Injections/BladeKeywordInjection.php b/src/Languages/Blade/Injections/BladeKeywordInjection.php index 79ead7b..99406ac 100644 --- a/src/Languages/Blade/Injections/BladeKeywordInjection.php +++ b/src/Languages/Blade/Injections/BladeKeywordInjection.php @@ -12,11 +12,13 @@ { use IsInjection; + #[\Override] public function getPattern(): string { return '(\@[\w]+)\s?\((?.*)\)'; } + #[\Override] public function parseContent(string $content, Highlighter $highlighter): string { return $highlighter->parse($content, 'php'); diff --git a/src/Languages/Blade/Injections/BladePhpInjection.php b/src/Languages/Blade/Injections/BladePhpInjection.php index a3bd9bf..7edd272 100644 --- a/src/Languages/Blade/Injections/BladePhpInjection.php +++ b/src/Languages/Blade/Injections/BladePhpInjection.php @@ -12,11 +12,13 @@ { use IsInjection; + #[\Override] public function getPattern(): string { return '\@php(?(.|\n)*?)\@endphp'; } + #[\Override] public function parseContent(string $content, Highlighter $highlighter): string { return $highlighter->parse($content, 'php'); diff --git a/src/Languages/Blade/Injections/BladeRawEchoInjection.php b/src/Languages/Blade/Injections/BladeRawEchoInjection.php index 85361ca..2bcf203 100644 --- a/src/Languages/Blade/Injections/BladeRawEchoInjection.php +++ b/src/Languages/Blade/Injections/BladeRawEchoInjection.php @@ -12,11 +12,13 @@ { use IsInjection; + #[\Override] public function getPattern(): string { return '({!!)(?.*)(!!})'; } + #[\Override] public function parseContent(string $content, Highlighter $highlighter): string { return $highlighter->parse($content, 'php'); diff --git a/src/Languages/Blade/Patterns/BladeCommentPattern.php b/src/Languages/Blade/Patterns/BladeCommentPattern.php index 7a69df2..aa7fd37 100644 --- a/src/Languages/Blade/Patterns/BladeCommentPattern.php +++ b/src/Languages/Blade/Patterns/BladeCommentPattern.php @@ -17,11 +17,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return '(?\{\{\-\-(.|\n)*?\-\-\}\})'; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::COMMENT; diff --git a/src/Languages/Blade/Patterns/BladeComponentCloseTagPattern.php b/src/Languages/Blade/Patterns/BladeComponentCloseTagPattern.php index e089f1c..3dd889f 100644 --- a/src/Languages/Blade/Patterns/BladeComponentCloseTagPattern.php +++ b/src/Languages/Blade/Patterns/BladeComponentCloseTagPattern.php @@ -17,11 +17,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return '<\/(?[\w\-\:\.]+)'; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::KEYWORD; diff --git a/src/Languages/Blade/Patterns/BladeComponentOpenTagPattern.php b/src/Languages/Blade/Patterns/BladeComponentOpenTagPattern.php index edcd938..9c82967 100644 --- a/src/Languages/Blade/Patterns/BladeComponentOpenTagPattern.php +++ b/src/Languages/Blade/Patterns/BladeComponentOpenTagPattern.php @@ -17,11 +17,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return '<(?[\w\-\:\.]+)'; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::KEYWORD; diff --git a/src/Languages/Blade/Patterns/BladeKeywordPattern.php b/src/Languages/Blade/Patterns/BladeKeywordPattern.php index 6f5d3c9..f60c0a2 100644 --- a/src/Languages/Blade/Patterns/BladeKeywordPattern.php +++ b/src/Languages/Blade/Patterns/BladeKeywordPattern.php @@ -18,11 +18,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return '(?\@[\w]+)\b'; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::KEYWORD; diff --git a/src/Languages/Css/CssLanguage.php b/src/Languages/Css/CssLanguage.php index 18e4acf..9296e64 100644 --- a/src/Languages/Css/CssLanguage.php +++ b/src/Languages/Css/CssLanguage.php @@ -15,11 +15,13 @@ class CssLanguage extends BaseLanguage { + #[\Override] public function getName(): string { return 'css'; } + #[\Override] public function getInjections(): array { return [ @@ -27,6 +29,7 @@ public function getInjections(): array ]; } + #[\Override] public function getPatterns(): array { return [ diff --git a/src/Languages/Css/Patterns/CssAttributePattern.php b/src/Languages/Css/Patterns/CssAttributePattern.php index 9426ed8..5f1af39 100644 --- a/src/Languages/Css/Patterns/CssAttributePattern.php +++ b/src/Languages/Css/Patterns/CssAttributePattern.php @@ -21,11 +21,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return '(?[\w\-]+):'; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::PROPERTY; diff --git a/src/Languages/Css/Patterns/CssCommentPattern.php b/src/Languages/Css/Patterns/CssCommentPattern.php index af72ec6..ea5f63b 100644 --- a/src/Languages/Css/Patterns/CssCommentPattern.php +++ b/src/Languages/Css/Patterns/CssCommentPattern.php @@ -20,11 +20,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return '/(?\/\*(.|\n)*?\*\/)/m'; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::COMMENT; diff --git a/src/Languages/Css/Patterns/CssFunctionPattern.php b/src/Languages/Css/Patterns/CssFunctionPattern.php index 167c3c2..613200e 100644 --- a/src/Languages/Css/Patterns/CssFunctionPattern.php +++ b/src/Languages/Css/Patterns/CssFunctionPattern.php @@ -22,11 +22,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return '(?[\w\-]+)\('; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::KEYWORD; diff --git a/src/Languages/Css/Patterns/CssImportPattern.php b/src/Languages/Css/Patterns/CssImportPattern.php index d0221cd..fc4b5ff 100644 --- a/src/Languages/Css/Patterns/CssImportPattern.php +++ b/src/Languages/Css/Patterns/CssImportPattern.php @@ -14,11 +14,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return '(?\@import)'; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::KEYWORD; diff --git a/src/Languages/Css/Patterns/CssMediaQueryPattern.php b/src/Languages/Css/Patterns/CssMediaQueryPattern.php index ee38e7a..d64e59c 100644 --- a/src/Languages/Css/Patterns/CssMediaQueryPattern.php +++ b/src/Languages/Css/Patterns/CssMediaQueryPattern.php @@ -15,11 +15,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return '(?\@media(.*)?){'; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::KEYWORD; diff --git a/src/Languages/Css/Patterns/CssSelectorPattern.php b/src/Languages/Css/Patterns/CssSelectorPattern.php index 820e3d4..9532fcb 100644 --- a/src/Languages/Css/Patterns/CssSelectorPattern.php +++ b/src/Languages/Css/Patterns/CssSelectorPattern.php @@ -29,11 +29,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return '(?[\[\]\'\"\=\@\-\#\.\w\s,\n\+\:\(\)\*]+)\{'; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::KEYWORD; diff --git a/src/Languages/Css/Patterns/CssVariablePattern.php b/src/Languages/Css/Patterns/CssVariablePattern.php index 44521b9..9eeaf9d 100644 --- a/src/Languages/Css/Patterns/CssVariablePattern.php +++ b/src/Languages/Css/Patterns/CssVariablePattern.php @@ -15,11 +15,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return '(?\-\-[\w\-]+)'; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::PROPERTY; diff --git a/src/Languages/Diff/DiffLanguage.php b/src/Languages/Diff/DiffLanguage.php index 6b025df..11cf774 100644 --- a/src/Languages/Diff/DiffLanguage.php +++ b/src/Languages/Diff/DiffLanguage.php @@ -10,11 +10,13 @@ class DiffLanguage extends BaseLanguage { + #[\Override] public function getName(): string { return 'diff'; } + #[\Override] public function getInjections(): array { return [ diff --git a/src/Languages/DocComment/DocCommentLanguage.php b/src/Languages/DocComment/DocCommentLanguage.php index 1422a75..e675d1c 100644 --- a/src/Languages/DocComment/DocCommentLanguage.php +++ b/src/Languages/DocComment/DocCommentLanguage.php @@ -9,11 +9,13 @@ class DocCommentLanguage extends BaseLanguage { + #[\Override] public function getName(): string { return 'doc'; } + #[\Override] public function getInjections(): array { return [ @@ -21,6 +23,7 @@ public function getInjections(): array ]; } + #[\Override] public function getPatterns(): array { return [ diff --git a/src/Languages/DocComment/Patterns/DocCommentTagPattern.php b/src/Languages/DocComment/Patterns/DocCommentTagPattern.php index 1766b59..e6c8dba 100644 --- a/src/Languages/DocComment/Patterns/DocCommentTagPattern.php +++ b/src/Languages/DocComment/Patterns/DocCommentTagPattern.php @@ -14,11 +14,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return '(?\@[\w]+)'; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::VALUE; diff --git a/src/Languages/Dockerfile/DockerfileLanguage.php b/src/Languages/Dockerfile/DockerfileLanguage.php index e01f300..109fb10 100644 --- a/src/Languages/Dockerfile/DockerfileLanguage.php +++ b/src/Languages/Dockerfile/DockerfileLanguage.php @@ -13,11 +13,13 @@ class DockerfileLanguage extends BaseLanguage { + #[\Override] public function getName(): string { return 'dockerfile'; } + #[\Override] public function getAliases(): array { return [ @@ -25,6 +27,7 @@ public function getAliases(): array ]; } + #[\Override] public function getPatterns(): array { return [ diff --git a/src/Languages/Dockerfile/Patterns/ImageAliasKeywordPattern.php b/src/Languages/Dockerfile/Patterns/ImageAliasKeywordPattern.php index 8a3d1e6..9e932f1 100644 --- a/src/Languages/Dockerfile/Patterns/ImageAliasKeywordPattern.php +++ b/src/Languages/Dockerfile/Patterns/ImageAliasKeywordPattern.php @@ -17,11 +17,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return "/^[\s]*FROM[\s][\S]+[\s](?AS)[\s][\S]+/m"; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::KEYWORD; diff --git a/src/Languages/Dockerfile/Patterns/ImageAliasNamePattern.php b/src/Languages/Dockerfile/Patterns/ImageAliasNamePattern.php index 748afa0..f134ab5 100644 --- a/src/Languages/Dockerfile/Patterns/ImageAliasNamePattern.php +++ b/src/Languages/Dockerfile/Patterns/ImageAliasNamePattern.php @@ -17,11 +17,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return "/^[\s]*FROM[\s][\S]+[\s]AS[\s](?[\S]+)/m"; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::VALUE; diff --git a/src/Languages/Dockerfile/Patterns/ImageNamePattern.php b/src/Languages/Dockerfile/Patterns/ImageNamePattern.php index 3c1601c..36c6249 100644 --- a/src/Languages/Dockerfile/Patterns/ImageNamePattern.php +++ b/src/Languages/Dockerfile/Patterns/ImageNamePattern.php @@ -19,11 +19,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return "/^[\s]*FROM[\s](?[\w\/]+)/m"; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::VALUE; diff --git a/src/Languages/Dockerfile/Patterns/ImageTagPattern.php b/src/Languages/Dockerfile/Patterns/ImageTagPattern.php index 730d637..635ad58 100644 --- a/src/Languages/Dockerfile/Patterns/ImageTagPattern.php +++ b/src/Languages/Dockerfile/Patterns/ImageTagPattern.php @@ -19,11 +19,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return "/^[\s]*FROM[\s][\w\/]+:(?\S+)[\s]?/m"; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::VALUE; diff --git a/src/Languages/Dockerfile/Patterns/KeywordPattern.php b/src/Languages/Dockerfile/Patterns/KeywordPattern.php index cb1b694..f64bc23 100644 --- a/src/Languages/Dockerfile/Patterns/KeywordPattern.php +++ b/src/Languages/Dockerfile/Patterns/KeywordPattern.php @@ -16,11 +16,13 @@ public function __construct(private string $keyword) { } + #[\Override] public function getPattern(): string { return "/^[\s]*(?{$this->keyword})[\s].*/m"; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::KEYWORD; diff --git a/src/Languages/Ellison/EllisonLanguage.php b/src/Languages/Ellison/EllisonLanguage.php index a6efeb4..4af60d7 100644 --- a/src/Languages/Ellison/EllisonLanguage.php +++ b/src/Languages/Ellison/EllisonLanguage.php @@ -9,11 +9,13 @@ class EllisonLanguage extends BaseLanguage { + #[\Override] public function getName(): string { return 'ellison'; } + #[\Override] public function getInjections(): array { return [ diff --git a/src/Languages/Ellison/Injections/ParserInjection.php b/src/Languages/Ellison/Injections/ParserInjection.php index 1e5f323..adb42a2 100644 --- a/src/Languages/Ellison/Injections/ParserInjection.php +++ b/src/Languages/Ellison/Injections/ParserInjection.php @@ -14,11 +14,13 @@ { use IsInjection; + #[\Override] public function getPattern(): string { return '(?(.|\n)*)'; } + #[\Override] public function parseContent(string $content, Highlighter $highlighter): string { $ellison = new Ellison(); diff --git a/src/Languages/Gdscript/GdscriptLanguage.php b/src/Languages/Gdscript/GdscriptLanguage.php index 21c0578..b2b2a87 100644 --- a/src/Languages/Gdscript/GdscriptLanguage.php +++ b/src/Languages/Gdscript/GdscriptLanguage.php @@ -22,11 +22,13 @@ class GdscriptLanguage extends BaseLanguage { + #[\Override] public function getName(): string { return 'gdscript'; } + #[\Override] public function getInjections(): array { return [ @@ -34,6 +36,7 @@ public function getInjections(): array ]; } + #[\Override] public function getPatterns(): array { return [ diff --git a/src/Languages/Gdscript/Patterns/AnnotationPattern.php b/src/Languages/Gdscript/Patterns/AnnotationPattern.php index eb73dee..337ad86 100644 --- a/src/Languages/Gdscript/Patterns/AnnotationPattern.php +++ b/src/Languages/Gdscript/Patterns/AnnotationPattern.php @@ -12,6 +12,7 @@ { use IsPattern; + #[\Override] public function getPattern(): string { $variations = join('|@export_', [ @@ -42,6 +43,7 @@ public function getPattern(): string return "(?(@onready|@icon|@export|@export_{$variations}|@rpc|@static_unload|@tool|@warning_ignore))"; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::KEYWORD; diff --git a/src/Languages/Gdscript/Patterns/AsTypePattern.php b/src/Languages/Gdscript/Patterns/AsTypePattern.php index 52cd194..4844773 100644 --- a/src/Languages/Gdscript/Patterns/AsTypePattern.php +++ b/src/Languages/Gdscript/Patterns/AsTypePattern.php @@ -14,11 +14,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return 'as\s+\b(?[a-zA-Z][a-zA-Z0-9]+)\b'; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::TYPE; diff --git a/src/Languages/Gdscript/Patterns/ClassNamePattern.php b/src/Languages/Gdscript/Patterns/ClassNamePattern.php index 62f14bf..847834c 100644 --- a/src/Languages/Gdscript/Patterns/ClassNamePattern.php +++ b/src/Languages/Gdscript/Patterns/ClassNamePattern.php @@ -14,11 +14,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return 'class_name\s(?[\w]+)'; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::TYPE; diff --git a/src/Languages/Gdscript/Patterns/DoubleQuoteValuePattern.php b/src/Languages/Gdscript/Patterns/DoubleQuoteValuePattern.php index 7546519..3363ec5 100644 --- a/src/Languages/Gdscript/Patterns/DoubleQuoteValuePattern.php +++ b/src/Languages/Gdscript/Patterns/DoubleQuoteValuePattern.php @@ -17,11 +17,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return '"(?.*?)"'; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::VALUE; diff --git a/src/Languages/Gdscript/Patterns/ExtendsPattern.php b/src/Languages/Gdscript/Patterns/ExtendsPattern.php index 9e270c1..f3e42f4 100644 --- a/src/Languages/Gdscript/Patterns/ExtendsPattern.php +++ b/src/Languages/Gdscript/Patterns/ExtendsPattern.php @@ -14,11 +14,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return 'extends\s(?[\w]+)'; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::TYPE; diff --git a/src/Languages/Gdscript/Patterns/FunctionCallPattern.php b/src/Languages/Gdscript/Patterns/FunctionCallPattern.php index b26afd8..202c5f1 100644 --- a/src/Languages/Gdscript/Patterns/FunctionCallPattern.php +++ b/src/Languages/Gdscript/Patterns/FunctionCallPattern.php @@ -15,11 +15,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return '\b(?[a-z][\w]+)\('; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::PROPERTY; diff --git a/src/Languages/Gdscript/Patterns/FunctionNamePattern.php b/src/Languages/Gdscript/Patterns/FunctionNamePattern.php index 29129a5..d6915b7 100644 --- a/src/Languages/Gdscript/Patterns/FunctionNamePattern.php +++ b/src/Languages/Gdscript/Patterns/FunctionNamePattern.php @@ -14,11 +14,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return 'func (?[\w]+)'; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::PROPERTY; diff --git a/src/Languages/Gdscript/Patterns/KeywordPattern.php b/src/Languages/Gdscript/Patterns/KeywordPattern.php index 3ec08b4..32014f6 100644 --- a/src/Languages/Gdscript/Patterns/KeywordPattern.php +++ b/src/Languages/Gdscript/Patterns/KeywordPattern.php @@ -16,11 +16,13 @@ public function __construct(private string $keyword) { } + #[\Override] public function getPattern(): string { return "/\b(?{$this->keyword})\b/"; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::KEYWORD; diff --git a/src/Languages/Gdscript/Patterns/OperatorPattern.php b/src/Languages/Gdscript/Patterns/OperatorPattern.php index e6dcdda..64d7119 100644 --- a/src/Languages/Gdscript/Patterns/OperatorPattern.php +++ b/src/Languages/Gdscript/Patterns/OperatorPattern.php @@ -16,6 +16,7 @@ public function __construct(private string $operator) { } + #[\Override] public function getPattern(): string { $quoted = preg_quote($this->operator, '/'); @@ -23,6 +24,7 @@ public function getPattern(): string return "/(?{$quoted})/"; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::OPERATOR; diff --git a/src/Languages/Gdscript/Patterns/PropertyAccessPattern.php b/src/Languages/Gdscript/Patterns/PropertyAccessPattern.php index 108300e..1fceedd 100644 --- a/src/Languages/Gdscript/Patterns/PropertyAccessPattern.php +++ b/src/Languages/Gdscript/Patterns/PropertyAccessPattern.php @@ -14,11 +14,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return '[\w]+\.(?[\w]+)'; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::PROPERTY; diff --git a/src/Languages/Gdscript/Patterns/ReturnTypePattern.php b/src/Languages/Gdscript/Patterns/ReturnTypePattern.php index 8324564..48937d3 100644 --- a/src/Languages/Gdscript/Patterns/ReturnTypePattern.php +++ b/src/Languages/Gdscript/Patterns/ReturnTypePattern.php @@ -15,11 +15,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return '\)\s*\-\>\s*(?.+?)[\s*:\n]'; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::TYPE; diff --git a/src/Languages/Gdscript/Patterns/SingleQuoteValuePattern.php b/src/Languages/Gdscript/Patterns/SingleQuoteValuePattern.php index 103e00c..04ce3cd 100644 --- a/src/Languages/Gdscript/Patterns/SingleQuoteValuePattern.php +++ b/src/Languages/Gdscript/Patterns/SingleQuoteValuePattern.php @@ -17,11 +17,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return "'(?.*?)'"; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::VALUE; diff --git a/src/Languages/Gdscript/Patterns/SinglelineCommentPattern.php b/src/Languages/Gdscript/Patterns/SinglelineCommentPattern.php index 48db039..fcea15e 100644 --- a/src/Languages/Gdscript/Patterns/SinglelineCommentPattern.php +++ b/src/Languages/Gdscript/Patterns/SinglelineCommentPattern.php @@ -14,11 +14,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return '(?#(.)*)'; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::COMMENT; diff --git a/src/Languages/Gdscript/Patterns/VarTypePattern.php b/src/Languages/Gdscript/Patterns/VarTypePattern.php index 3bb2454..f139686 100644 --- a/src/Languages/Gdscript/Patterns/VarTypePattern.php +++ b/src/Languages/Gdscript/Patterns/VarTypePattern.php @@ -16,11 +16,13 @@ { use IsPattern; + #[\Override] public function getPattern(): string { return '\:[^\S\n]*(?\w+)'; } + #[\Override] public function getTokenType(): TokenTypeEnum { return TokenTypeEnum::TYPE; diff --git a/src/Languages/Html/HtmlLanguage.php b/src/Languages/Html/HtmlLanguage.php index 39ce8a4..f5c4f1e 100644 --- a/src/Languages/Html/HtmlLanguage.php +++ b/src/Languages/Html/HtmlLanguage.php @@ -13,11 +13,13 @@ class HtmlLanguage extends XmlLanguage { + #[\Override] public function getName(): string { return 'html'; } + #[\Override] public function getInjections(): array { return [ @@ -30,6 +32,7 @@ public function getInjections(): array ]; } + #[\Override] public function getPatterns(): array { return [ diff --git a/src/Languages/Html/Injections/CssAttributeInHtmlInjection.php b/src/Languages/Html/Injections/CssAttributeInHtmlInjection.php index f53a3c3..7bebde6 100644 --- a/src/Languages/Html/Injections/CssAttributeInHtmlInjection.php +++ b/src/Languages/Html/Injections/CssAttributeInHtmlInjection.php @@ -12,11 +12,13 @@ { use IsInjection; + #[\Override] public function getPattern(): string { return 'style="(?(.|\n)*?)"'; } + #[\Override] public function parseContent(string $content, Highlighter $highlighter): string { return $highlighter->parse($content, 'css'); diff --git a/src/Languages/Html/Injections/CssInHtmlInjection.php b/src/Languages/Html/Injections/CssInHtmlInjection.php index 5f51cab..3d73c2e 100644 --- a/src/Languages/Html/Injections/CssInHtmlInjection.php +++ b/src/Languages/Html/Injections/CssInHtmlInjection.php @@ -12,11 +12,13 @@ { use IsInjection; + #[\Override] public function getPattern(): string { return '