From bca654f96164b575023ef400b32d4942ec8a0054 Mon Sep 17 00:00:00 2001 From: brendt Date: Wed, 20 Mar 2024 06:18:46 +0100 Subject: [PATCH] UsAsPattern --- src/Languages/Php/Patterns/UseAsPattern.php | 26 +++++++++++++++++++++ src/Languages/Php/PhpLanguage.php | 2 ++ tests/Languages/Php/PhpLanguageTest.php | 1 + tests/test.md | 5 +--- 4 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 src/Languages/Php/Patterns/UseAsPattern.php diff --git a/src/Languages/Php/Patterns/UseAsPattern.php b/src/Languages/Php/Patterns/UseAsPattern.php new file mode 100644 index 0000000..8c8ad7e --- /dev/null +++ b/src/Languages/Php/Patterns/UseAsPattern.php @@ -0,0 +1,26 @@ +[\w]+)'; + } + + public function getTokenType(): TokenType + { + return TokenType::TYPE; + } +} diff --git a/src/Languages/Php/PhpLanguage.php b/src/Languages/Php/PhpLanguage.php index 81bddd8..979bf0a 100644 --- a/src/Languages/Php/PhpLanguage.php +++ b/src/Languages/Php/PhpLanguage.php @@ -34,6 +34,7 @@ use Tempest\Highlight\Languages\Php\Patterns\SingleQuoteValuePattern; use Tempest\Highlight\Languages\Php\Patterns\StaticClassCallPattern; use Tempest\Highlight\Languages\Php\Patterns\UntypedClassPropertyPattern; +use Tempest\Highlight\Languages\Php\Patterns\UseAsPattern; use Tempest\Highlight\Languages\Php\Patterns\UsePattern; class PhpLanguage extends BaseLanguage @@ -147,6 +148,7 @@ public function getPatterns(): array new ParameterTypePattern(), new NewObjectPattern(), new InstanceOfPattern(), + new UseAsPattern(), // PROPERTIES new ClassPropertyPattern(), diff --git a/tests/Languages/Php/PhpLanguageTest.php b/tests/Languages/Php/PhpLanguageTest.php index ec99da6..938197d 100644 --- a/tests/Languages/Php/PhpLanguageTest.php +++ b/tests/Languages/Php/PhpLanguageTest.php @@ -34,6 +34,7 @@ public static function data(): array ['protected Foo $resolved = [];', 'protected Foo $resolved = [];'], ['$concrete instanceof Closure', '$concrete instanceof Closure'], ['extends Foo implements ArrayAccess, ContainerContract', 'extends Foo implements ArrayAccess, ContainerContract'], + ['use Illuminate\Contracts\Container\Container as ContainerContract', 'use Illuminate\Contracts\Container\Container as ContainerContract'], [ "// We'll diff --git a/tests/test.md b/tests/test.md index 1c76c62..fc0f04a 100644 --- a/tests/test.md +++ b/tests/test.md @@ -1,6 +1,3 @@ ```php -extends Foo implements ArrayAccess, ContainerContract -{ - -} +use Illuminate\Contracts\Container\Container as ContainerContract ``` \ No newline at end of file