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.scm297
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