Update highlight for PHP (#6203)

- update tree-sitter-php
- add basic types, operator
- refine keyword
pull/5893/head^2
Erasin Wang 2 years ago committed by GitHub
parent 136d1164e0
commit 622f90a157
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -571,7 +571,7 @@ indent = { tab-width = 4, unit = " " }
[[grammar]] [[grammar]]
name = "php" name = "php"
source = { git = "https://github.com/tree-sitter/tree-sitter-php", rev = "57f855461aeeca73bd4218754fb26b5ac143f98f" } source = { git = "https://github.com/tree-sitter/tree-sitter-php", rev = "f860e598194f4a71747f91789bf536b393ad4a56" }
[[language]] [[language]]
name = "twig" name = "twig"

@ -2,15 +2,63 @@
"?>" @tag "?>" @tag
; Types ; 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)
(primitive_type) @type.builtin (interface_declaration
(cast_type) @type.builtin name: (name) @constructor)
(named_type (name) @type) @type
(named_type (qualified_name) @type) @type (class_declaration
name: (name) @constructor)
(trait_declaration
name:(name) @constructor)
(namespace_definition (namespace_definition
name: (namespace_name (name) @namespace)) 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 ; Superglobals
(subscript_expression (subscript_expression
(variable_name(name) @constant.builtin (variable_name(name) @constant.builtin
@ -36,6 +84,21 @@
(function_definition (function_definition
name: (name) @function) 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 ; Member
@ -62,68 +125,192 @@
(variable_name) @variable (variable_name) @variable
; Attributes
(attribute_list) @attribute
; Basic tokens ; Basic tokens
(string) @string [
(heredoc) @string (string)
(encapsed_string)
(heredoc_body)
(nowdoc_body)
(shell_command_expression)
] @string
(escape_sequence) @constant.character.escape
(boolean) @constant.builtin.boolean (boolean) @constant.builtin.boolean
(null) @constant.builtin (null) @constant.builtin
(integer) @constant.numeric.integer (integer) @constant.numeric.integer
(float) @constant.numeric.float (float) @constant.numeric.float
(comment) @comment (comment) @comment
"$" @operator (goto_statement (name) @label)
(named_label_statement (name) @label)
; Keywords ; Keywords
[ [
"abstract"
"as"
"break"
"case"
"catch"
"class"
"const"
"continue"
"declare"
"default" "default"
"do"
"echo" "echo"
"else"
"elseif"
"enddeclare"
"endforeach"
"endif"
"endswitch"
"endwhile"
"enum" "enum"
"extends" "extends"
"final" "final"
"finally" "goto"
"foreach"
"fn"
"function"
"global" "global"
"if"
"implements" "implements"
"include_once"
"include"
"insteadof" "insteadof"
"interface"
"match"
"namespace"
"new" "new"
"private" "private"
"protected" "protected"
"public" "public"
] @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_once"
"require" "require"
"use"
] @keyword.control.import
[
"return" "return"
"static" "break"
"switch" "continue"
"yield"
] @keyword.control.return
[
"throw" "throw"
"trait"
"try" "try"
"use" "catch"
"while" "finally"
] @keyword ] @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

Loading…
Cancel
Save