Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'runtime/queries/php/highlights.scm')
| -rw-r--r-- | runtime/queries/php/highlights.scm | 297 |
1 files changed, 54 insertions, 243 deletions
diff --git a/runtime/queries/php/highlights.scm b/runtime/queries/php/highlights.scm index 737e2d5f..77c9424f 100644 --- a/runtime/queries/php/highlights.scm +++ b/runtime/queries/php/highlights.scm @@ -1,79 +1,16 @@ (php_tag) @tag "?>" @tag -; Variables - -(relative_scope) @variable.builtin - -(variable_name) @variable - -((name) @constant - (#match? @constant "^_?[A-Z][A-Z\\d_]+$")) - -((name) @constructor - (#match? @constructor "^[A-Z]")) - -((name) @variable.builtin - (#eq? @variable.builtin "this")) - ; Types -[ - (primitive_type) - (cast_type) -] @type.builtin - -(named_type - [ (name) @type - (qualified_name (name) @type)]) - -(base_clause - [ (name) @type - (qualified_name (name) @type)]) -(enum_declaration - name: (name) @type.enum) - -(interface_declaration - name: (name) @constructor) - -(class_declaration - name: (name) @constructor) - -(trait_declaration - name:(name) @constructor) +(primitive_type) @type.builtin +(cast_type) @type.builtin +(named_type (name) @type) @type +(named_type (qualified_name) @type) @type (namespace_definition name: (namespace_name (name) @namespace)) -(namespace_name_as_prefix - (namespace_name (name) @namespace)) - -(namespace_use_clause - [ (name) @namespace - (qualified_name (name) @type) ]) - -(namespace_aliasing_clause (name) @namespace) - -(class_interface_clause - [(name) @type - (qualified_name (name) @type)]) - -(scoped_call_expression - scope: [(name) @type - (qualified_name (name) @type)]) - -(class_constant_access_expression - . [(name) @constructor - (qualified_name (name) @constructor)] - (name) @constant) - -(use_declaration (name) @type) - -(binary_expression - operator: "instanceof" - right: [(name) @type - (qualified_name (name) @type)]) - ; Superglobals (subscript_expression (variable_name(name) @constant.builtin @@ -99,21 +36,6 @@ (function_definition name: (name) @function) -(nullsafe_member_call_expression - name: (name) @function.method) - -(object_creation_expression - [(name) @constructor - (qualified_name (name) @constructor)]) - -; Parameters -[ - (simple_parameter) - (variadic_parameter) -] @variable.parameter - -(argument - (name) @variable.parameter) ; Member @@ -125,194 +47,83 @@ (member_access_expression name: (name) @variable.other.member) -; Attributes -(attribute_list) @attribute +; Variables -; Basic tokens +(relative_scope) @variable.builtin -[ - (string) - (encapsed_string) - (heredoc_body) - (nowdoc_body) - (shell_command_expression) -] @string -(escape_sequence) @constant.character.escape +((name) @constant + (#match? @constant "^_?[A-Z][A-Z\\d_]+$")) +((name) @constructor + (#match? @constructor "^[A-Z]")) + +((name) @variable.builtin + (#eq? @variable.builtin "this")) + +(variable_name) @variable + +; Basic tokens + +(string) @string +(heredoc) @string (boolean) @constant.builtin.boolean (null) @constant.builtin (integer) @constant.numeric.integer (float) @constant.numeric.float (comment) @comment -(goto_statement (name) @label) -(named_label_statement (name) @label) +"$" @operator ; Keywords [ + "abstract" + "as" + "break" + "case" + "catch" + "class" + "const" + "continue" + "declare" "default" + "do" "echo" + "else" + "elseif" + "enddeclare" + "endforeach" + "endif" + "endswitch" + "endwhile" "enum" "extends" "final" - "goto" + "finally" + "foreach" + "fn" + "function" "global" + "if" "implements" + "include_once" + "include" "insteadof" + "interface" + "match" + "namespace" "new" "private" "protected" "public" - "clone" - "unset" -] @keyword - -[ - "if" - "else" - "elseif" - "endif" - "switch" - "endswitch" - "case" - "match" - "declare" - "enddeclare" - "??" -] @keyword.control.conditional - -[ - "for" - "endfor" - "foreach" - "endforeach" - "while" - "endwhile" - "do" -] @keyword.control.repeat - -[ - - "include_once" - "include" "require_once" "require" - "use" -] @keyword.control.import - -[ "return" - "break" - "continue" - "yield" -] @keyword.control.return - -[ + "static" + "switch" "throw" - "try" - "catch" - "finally" -] @keyword.control.exception - -[ - "as" - "or" - "xor" - "and" - "instanceof" -] @keyword.operator - -[ - "fn" - "function" -] @keyword.function - -[ - "namespace" - "class" - "interface" "trait" - "abstract" -] @keyword.storage.type - -[ - "static" - "const" -] @keyword.storage.modifier - -[ - "," - ";" - ":" - "\\" - ] @punctuation.delimiter - -[ - (php_tag) - "?>" - "(" - ")" - "[" - "]" - "{" - "}" - "#[" -] @punctuation.bracket - -[ - "=" - - "." - "-" - "*" - "/" - "+" - "%" - "**" - - "~" - "|" - "^" - "&" - "<<" - ">>" - - "->" - "?->" - - "=>" - - "<" - "<=" - ">=" - ">" - "<>" - "==" - "!=" - "===" - "!==" - - "!" - "&&" - "||" - - ".=" - "-=" - "+=" - "*=" - "/=" - "%=" - "**=" - "&=" - "|=" - "^=" - "<<=" - ">>=" - "??=" - "--" - "++" - - "@" - "::" -] @operator + "try" + "use" + "while" +] @keyword |