aboutsummaryrefslogtreecommitdiffstats
path: root/queries/php/highlights.scm
diff options
context:
space:
mode:
Diffstat (limited to 'queries/php/highlights.scm')
-rw-r--r--queries/php/highlights.scm330
1 files changed, 191 insertions, 139 deletions
diff --git a/queries/php/highlights.scm b/queries/php/highlights.scm
index aa3be62b9..cbc7e1839 100644
--- a/queries/php/highlights.scm
+++ b/queries/php/highlights.scm
@@ -1,68 +1,110 @@
; Variables
-
(variable_name) @variable
; Constants
-
((name) @constant
- (#lua-match? @constant "^_?[A-Z][A-Z%d_]*$"))
+ (#lua-match? @constant "^_?[A-Z][A-Z%d_]*$"))
+
((name) @constant.builtin
- (#lua-match? @constant.builtin "^__[A-Z][A-Z%d_]+__$"))
+ (#lua-match? @constant.builtin "^__[A-Z][A-Z%d_]+__$"))
-(const_declaration (const_element (name) @constant))
+(const_declaration
+ (const_element
+ (name) @constant))
; Types
-
[
- (primitive_type)
- (cast_type)
- (bottom_type)
- ] @type.builtin
+ (primitive_type)
+ (cast_type)
+ (bottom_type)
+] @type.builtin
+
(named_type
- [(name) @type
- (qualified_name (name) @type)])
+ [
+ (name) @type
+ (qualified_name
+ (name) @type)
+ ])
+
(class_declaration
name: (name) @type)
+
(base_clause
- [(name) @type
- (qualified_name (name) @type)])
+ [
+ (name) @type
+ (qualified_name
+ (name) @type)
+ ])
+
(enum_declaration
name: (name) @type)
+
(interface_declaration
name: (name) @type)
+
(namespace_use_clause
- [(name) @type
- (qualified_name (name) @type)])
-(namespace_aliasing_clause (name) @type.definition)
+ [
+ (name) @type
+ (qualified_name
+ (name) @type)
+ ])
+
+(namespace_aliasing_clause
+ (name) @type.definition)
+
(class_interface_clause
- [(name) @type
- (qualified_name (name) @type)])
+ [
+ (name) @type
+ (qualified_name
+ (name) @type)
+ ])
+
(scoped_call_expression
- scope: [(name) @type
- (qualified_name (name) @type)])
+ scope:
+ [
+ (name) @type
+ (qualified_name
+ (name) @type)
+ ])
+
(class_constant_access_expression
- . [(name) @type
- (qualified_name (name) @type)]
+ .
+ [
+ (name) @type
+ (qualified_name
+ (name) @type)
+ ]
(name) @constant)
+
(trait_declaration
name: (name) @type)
+
(use_declaration
- (name) @type)
+ (name) @type)
+
(binary_expression
operator: "instanceof"
- right: [(name) @type
- (qualified_name (name) @type)])
+ right:
+ [
+ (name) @type
+ (qualified_name
+ (name) @type)
+ ])
; Functions, methods, constructors
+(array_creation_expression
+ "array" @function.builtin)
-(array_creation_expression "array" @function.builtin)
-(list_literal "list" @function.builtin)
+(list_literal
+ "list" @function.builtin)
(method_declaration
name: (name) @function.method)
(function_call_expression
- function: (qualified_name (name) @function.call))
+ function:
+ (qualified_name
+ (name) @function.call))
(function_call_expression
(name) @function.call)
@@ -77,14 +119,18 @@
name: (name) @function)
(nullsafe_member_call_expression
- name: (name) @function.method)
+ name: (name) @function.method)
(method_declaration
- name: (name) @constructor
- (#eq? @constructor "__construct"))
+ name: (name) @constructor
+ (#eq? @constructor "__construct"))
+
(object_creation_expression
- [(name) @constructor
- (qualified_name (name) @constructor)])
+ [
+ (name) @constructor
+ (qualified_name
+ (name) @constructor)
+ ])
; Parameters
[
@@ -93,31 +139,35 @@
] @variable.parameter
(argument
- (name) @variable.parameter)
+ (name) @variable.parameter)
; Member
-
(property_element
(variable_name) @property)
(member_access_expression
- name: (variable_name (name)) @property)
+ name:
+ (variable_name
+ (name)) @property)
(member_access_expression
name: (name) @property)
; Variables
-
(relative_scope) @variable.builtin
((variable_name) @variable.builtin
- (#eq? @variable.builtin "$this"))
+ (#eq? @variable.builtin "$this"))
; Namespace
(namespace_definition
- name: (namespace_name (name) @module))
+ name:
+ (namespace_name
+ (name) @module))
+
(namespace_name_as_prefix
- (namespace_name (name) @module))
+ (namespace_name
+ (name) @module))
; Attributes
(attribute_list) @attribute
@@ -126,78 +176,88 @@
(conditional_expression) @keyword.conditional
; Directives
-(declare_directive ["strict_types" "ticks" "encoding"] @variable.parameter)
+(declare_directive
+ [
+ "strict_types"
+ "ticks"
+ "encoding"
+ ] @variable.parameter)
; Basic tokens
-
[
- (string)
- (encapsed_string)
- (heredoc_body)
- (nowdoc_body)
- (shell_command_expression) ; backtick operator: `ls -la`
- ] @string
+ (string)
+ (encapsed_string)
+ (heredoc_body)
+ (nowdoc_body)
+ (shell_command_expression) ; backtick operator: `ls -la`
+] @string
+
(escape_sequence) @string.escape
[
- (heredoc_start)
- (heredoc_end)
+ (heredoc_start)
+ (heredoc_end)
] @label
-(nowdoc "'" @label)
+(nowdoc
+ "'" @label)
(boolean) @boolean
+
(null) @constant.builtin
+
(integer) @number
+
(float) @number.float
+
(comment) @comment @spell
(named_label_statement) @label
-; Keywords
+; Keywords
[
- "and"
- "as"
- "instanceof"
- "or"
- "xor"
+ "and"
+ "as"
+ "instanceof"
+ "or"
+ "xor"
] @keyword.operator
[
- "fn"
- "function"
+ "fn"
+ "function"
] @keyword.function
[
- "break"
- "class"
- "clone"
- "declare"
- "default"
- "echo"
- "enddeclare"
- "enum"
- "extends"
- "global"
- "goto"
- "implements"
- "insteadof"
- "interface"
- "namespace"
- "new"
- "trait"
- "unset"
- ] @keyword
+ "break"
+ "class"
+ "clone"
+ "declare"
+ "default"
+ "echo"
+ "enddeclare"
+ "enum"
+ "extends"
+ "global"
+ "goto"
+ "implements"
+ "insteadof"
+ "interface"
+ "namespace"
+ "new"
+ "trait"
+ "unset"
+] @keyword
[
- "abstract"
- "const"
- "final"
- "private"
- "protected"
- "public"
- "readonly"
- "static"
+ "abstract"
+ "const"
+ "final"
+ "private"
+ "protected"
+ "public"
+ "readonly"
+ "static"
] @type.qualifier
[
@@ -206,65 +266,64 @@
] @keyword.return
[
- "case"
- "else"
- "elseif"
- "endif"
- "endswitch"
- "if"
- "switch"
- "match"
+ "case"
+ "else"
+ "elseif"
+ "endif"
+ "endswitch"
+ "if"
+ "switch"
+ "match"
"??"
- ] @keyword.conditional
+] @keyword.conditional
[
- "continue"
- "do"
- "endfor"
- "endforeach"
- "endwhile"
- "for"
- "foreach"
- "while"
- ] @keyword.repeat
+ "continue"
+ "do"
+ "endfor"
+ "endforeach"
+ "endwhile"
+ "for"
+ "foreach"
+ "while"
+] @keyword.repeat
[
- "catch"
- "finally"
- "throw"
- "try"
- ] @keyword.exception
+ "catch"
+ "finally"
+ "throw"
+ "try"
+] @keyword.exception
[
- "include_once"
- "include"
- "require_once"
- "require"
- "use"
- ] @keyword.import
+ "include_once"
+ "include"
+ "require_once"
+ "require"
+ "use"
+] @keyword.import
[
- ","
- ";"
- ":"
- "\\"
- ] @punctuation.delimiter
+ ","
+ ";"
+ ":"
+ "\\"
+] @punctuation.delimiter
[
- (php_tag)
- "?>"
- "("
- ")"
- "["
- "]"
- "{"
- "}"
- "#["
- ] @punctuation.bracket
+ (php_tag)
+ "?>"
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+ "#["
+] @punctuation.bracket
[
"="
-
"."
"-"
"*"
@@ -272,7 +331,6 @@
"+"
"%"
"**"
-
"~"
"|"
"^"
@@ -280,12 +338,9 @@
"<<"
">>"
"<<<"
-
"->"
"?->"
-
"=>"
-
"<"
"<="
">="
@@ -295,11 +350,9 @@
"!="
"==="
"!=="
-
"!"
"&&"
"||"
-
".="
"-="
"+="
@@ -315,7 +368,6 @@
"??="
"--"
"++"
-
"@"
"::"
] @operator