aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorCaleb White <cdwhite3@pm.me>2025-02-26 08:36:24 -0600
committerChristian Clason <ch.clason+github@icloud.com>2025-02-26 17:01:57 +0100
commit081a99b3bed1f5050610d08870c71409b878c3c3 (patch)
tree24af0f07d7523833ba61ce6e9b26d68ba69f4617 /tests
parentfeat(markdown): completely conceal codeblock fences on nightly (diff)
downloadnvim-treesitter-081a99b3bed1f5050610d08870c71409b878c3c3.tar
nvim-treesitter-081a99b3bed1f5050610d08870c71409b878c3c3.tar.gz
nvim-treesitter-081a99b3bed1f5050610d08870c71409b878c3c3.tar.bz2
nvim-treesitter-081a99b3bed1f5050610d08870c71409b878c3c3.tar.lz
nvim-treesitter-081a99b3bed1f5050610d08870c71409b878c3c3.tar.xz
nvim-treesitter-081a99b3bed1f5050610d08870c71409b878c3c3.tar.zst
nvim-treesitter-081a99b3bed1f5050610d08870c71409b878c3c3.zip
feat(php): add support for new relative_name node
Diffstat (limited to 'tests')
-rw-r--r--tests/query/highlights/php/keywords.php27
-rw-r--r--tests/query/highlights/php/namespaces.php147
2 files changed, 147 insertions, 27 deletions
diff --git a/tests/query/highlights/php/keywords.php b/tests/query/highlights/php/keywords.php
index 5504cab19..21d248e69 100644
--- a/tests/query/highlights/php/keywords.php
+++ b/tests/query/highlights/php/keywords.php
@@ -2,49 +2,22 @@
namespace Foo\Bar;
//^^^^^^^ @keyword.type
-// ^^^ @module
-// ^^^ @module
use Foo\Baz as Baaz;
//^ @keyword.import
-// ^^^ @module
-// ^^^ @type
// ^^ @keyword.operator
-// ^^^^ @type.definition
-
-use Foo\Baz\{Foo, Bar};
-// ^^^ @type
-// ^^^ @type
use function Foo\foo as fooo;
// ^^^^^^^^ @keyword.function
-// ^^^ @function
-// ^^^^ @function
-
-use function Foo\{bar, baz};
-// ^^^ @function
-// ^^^ @function
use const Foo\FOO as FOOO;
// ^^^^^ @keyword.modifier
-// ^^^ @constant
-// ^^^^ @constant
-
-use const Foo\{FOO, BAR};
-// ^^^ @constant
-// ^^^ @constant
use Foo\Baz\{
-// ^^^ @module
-// ^^^ @module
- Bar,
-//^^^ @type
function foo,
//^^^^^^^^ @keyword.function
-// ^^^ @function
const FOO,
//^^^^^ @keyword.modifier
-// ^^^ @constant
};
abstract class A
diff --git a/tests/query/highlights/php/namespaces.php b/tests/query/highlights/php/namespaces.php
new file mode 100644
index 000000000..1c96a95b2
--- /dev/null
+++ b/tests/query/highlights/php/namespaces.php
@@ -0,0 +1,147 @@
+<?php
+
+namespace Foo\Bar;
+// ^^^ @module
+// ^^^ @module
+
+use Baz as Baaz;
+// ^^^ @type
+// ^^^^ @type
+use Foo\Baz as Baaz;
+// ^^^ @module
+// ^^^ @type
+// ^^^^ @type
+
+use Foo\{Bar, Baz as Baaz};
+// ^^^ @type
+// ^^^ @type
+// ^^^^ @type
+
+use function foo as fooo;
+// ^^^ @function
+// ^^^^ @function
+//
+use function Foo\foo as fooo;
+// ^^^ @module
+// ^^^ @function
+// ^^^^ @function
+use function Foo\{bar, foo as fooo};
+// ^^^ @function
+// ^^^ @function
+// ^^^^ @function
+use const FOO as FOOO;
+// ^^^ @constant
+// ^^^^ @constant
+use const Foo\FOO as FOOO;
+// ^^^ @module
+// ^^^ @constant
+// ^^^^ @constant
+use const Foo\{FOO as FOOO, BAR};
+// ^^^ @constant
+// ^^^^ @constant
+// ^^^ @constant
+
+use Foo\Baz\{
+// ^^^ @module
+// ^^^ @module
+ Bar as Barr,
+//^^^ @type
+// ^^^^ @type
+ Foo\Bar as Barr,
+//^^^ @module
+// ^^^ @type
+// ^^^^ @type
+ function foo as fooo,
+// ^^^ @function
+// ^^^^ @function
+ function Foo\foo as fooo,
+// ^^^ @module
+// ^^^ @function
+// ^^^^ @function
+ const FOO as FOOO,
+// ^^^ @constant
+// ^^^^ @constant
+ const Foo\FOO as FOOO,
+// ^^^ @module
+// ^^^ @constant
+// ^^^^ @constant
+};
+
+class Foo {
+ public function foo() {
+ Bar::foo();
+// ^^^ @type
+// ^^^ @function.call
+ \Bar::foo();
+// ^^^ @type
+// ^^^ @function.call
+ Foo\Bar::foo();
+// ^^^ @module
+// ^^^ @type
+// ^^^ @function.call
+ \Foo\Bar::foo();
+// ^^^ @module
+// ^^^ @type
+// ^^^ @function.call
+ namespace\Bar::foo();
+// ^^^^^^^^^ @module.builtin
+// ^^^ @type
+// ^^^ @function.call
+ namespace\Foo\Bar::foo();
+// ^^^^^^^^^ @module.builtin
+// ^^^ @module
+// ^^^ @type
+// ^^^ @function.call
+ new Bar();
+// ^^^ @constructor
+ new \Bar();
+// ^^^ @constructor
+ new Foo\Bar();
+// ^^^ @module
+// ^^^ @constructor
+ new \Foo\Bar();
+// ^^^ @module
+// ^^^ @constructor
+ new namespace\Bar();
+// ^^^^^^^^^ @module.builtin
+// ^^^ @constructor
+ new namespace\Foo\Bar();
+// ^^^^^^^^^ @module.builtin
+// ^^^ @module
+// ^^^ @constructor
+ BAZ;
+// ^^^ @constant
+ \BAZ;
+// ^^^ @constant
+ Foo\BAZ;
+// ^^^ @module
+// ^^^ @constant
+ \Foo\BAZ;
+// ^^^ @module
+// ^^^ @constant
+ namespace\BAZ;
+// ^^^^^^^^^ @module.builtin
+// ^^^ @constant
+ namespace\Foo\BAZ;
+// ^^^^^^^^^ @module.builtin
+// ^^^ @module
+// ^^^ @constant
+ foo();
+// ^^^ @function.call
+ \foo();
+// ^^^ @function.call
+ Foo\foo();
+// ^^^ @module
+// ^^^ @function.call
+ \Foo\foo();
+// ^^^ @module
+// ^^^ @function.call
+ namespace\foo();
+// ^^^^^^^^^ @module.builtin
+// ^^^ @function.call
+ namespace\Foo\foo();
+// ^^^^^^^^^ @module.builtin
+// ^^^ @module
+// ^^^ @function.call
+ }
+}