$a + $b; // ^^ @keyword.function static $a; // ^^^^^^ @keyword.modifier global $a; // ^^^^^^ @keyword clone $call; // ^^^^^ @keyword match ($a) { // ^^^^^ @keyword.conditional default => "other", // ^^^^^^^ @keyword // ^^ @operator }; switch ($a) { // ^^^^^^ @keyword.conditional case 'value': // ^^^^ @keyword.conditional break; // ^^^^^ @keyword default: // ^^^^^^^ @keyword } yield $a; // ^^^^^ @keyword.return yield from $a; // ^^^^ @keyword.return return $a; // ^^^^^^ @keyword.return goto a; // ^^^^ @keyword echo "a"; // ^^^^ @keyword print "a"; // ^^^^^ @keyword print("a"); // ^^^^^ @keyword exit; // ^^^^ @keyword exit(); // ^^^^ @function.builtin exit(1); // ^^^^ @function.builtin } } throw new Exception("oh"); //^^^ @keyword.exception // ^^^ @keyword // ^^^^^^^^^ @constructor interface T {} //^^^^^^^ @keyword // ^ @type trait T { public function small(): void {} } //^^^ @keyword // ^ @type // ^^^^ @type.builtin enum Foo { case Bar; } //^^ @keyword // ^^^^ @keyword.conditional