aboutsummaryrefslogtreecommitdiffstats
path: root/queries/php/highlights.scm
diff options
context:
space:
mode:
authortk-shirasaka <tk.shirasaka@gmail.com>2024-01-20 21:34:49 +0900
committerGitHub <noreply@github.com>2024-01-20 12:34:49 +0000
commit64b3d5e5698d485a4f197ffbe85a4b6c29e16325 (patch)
treedf6723ec690b4b4dad98cdcbffaa99c3a66b4587 /queries/php/highlights.scm
parentfix(highlights): use `markup.raw.delimiter` for fences (diff)
downloadnvim-treesitter-64b3d5e5698d485a4f197ffbe85a4b6c29e16325.tar
nvim-treesitter-64b3d5e5698d485a4f197ffbe85a4b6c29e16325.tar.gz
nvim-treesitter-64b3d5e5698d485a4f197ffbe85a4b6c29e16325.tar.bz2
nvim-treesitter-64b3d5e5698d485a4f197ffbe85a4b6c29e16325.tar.lz
nvim-treesitter-64b3d5e5698d485a4f197ffbe85a4b6c29e16325.tar.xz
nvim-treesitter-64b3d5e5698d485a4f197ffbe85a4b6c29e16325.tar.zst
nvim-treesitter-64b3d5e5698d485a4f197ffbe85a4b6c29e16325.zip
feat: add the php_only parser included in tree-sitter-php (#5876)
Add parser `php_only` for PHP files without HTML embedded. Make queries for combined parser `php` inherit from `php_only` (no extensions needed). --------- Co-authored-by: shirasaka <tk.shirasaka@gmail>
Diffstat (limited to 'queries/php/highlights.scm')
-rw-r--r--queries/php/highlights.scm374
1 files changed, 1 insertions, 373 deletions
diff --git a/queries/php/highlights.scm b/queries/php/highlights.scm
index cbc7e1839..f32463888 100644
--- a/queries/php/highlights.scm
+++ b/queries/php/highlights.scm
@@ -1,373 +1 @@
-; Variables
-(variable_name) @variable
-
-; Constants
-((name) @constant
- (#lua-match? @constant "^_?[A-Z][A-Z%d_]*$"))
-
-((name) @constant.builtin
- (#lua-match? @constant.builtin "^__[A-Z][A-Z%d_]+__$"))
-
-(const_declaration
- (const_element
- (name) @constant))
-
-; Types
-[
- (primitive_type)
- (cast_type)
- (bottom_type)
-] @type.builtin
-
-(named_type
- [
- (name) @type
- (qualified_name
- (name) @type)
- ])
-
-(class_declaration
- name: (name) @type)
-
-(base_clause
- [
- (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)
-
-(class_interface_clause
- [
- (name) @type
- (qualified_name
- (name) @type)
- ])
-
-(scoped_call_expression
- scope:
- [
- (name) @type
- (qualified_name
- (name) @type)
- ])
-
-(class_constant_access_expression
- .
- [
- (name) @type
- (qualified_name
- (name) @type)
- ]
- (name) @constant)
-
-(trait_declaration
- name: (name) @type)
-
-(use_declaration
- (name) @type)
-
-(binary_expression
- operator: "instanceof"
- right:
- [
- (name) @type
- (qualified_name
- (name) @type)
- ])
-
-; Functions, methods, constructors
-(array_creation_expression
- "array" @function.builtin)
-
-(list_literal
- "list" @function.builtin)
-
-(method_declaration
- name: (name) @function.method)
-
-(function_call_expression
- function:
- (qualified_name
- (name) @function.call))
-
-(function_call_expression
- (name) @function.call)
-
-(scoped_call_expression
- name: (name) @function.call)
-
-(member_call_expression
- name: (name) @function.method.call)
-
-(function_definition
- name: (name) @function)
-
-(nullsafe_member_call_expression
- name: (name) @function.method)
-
-(method_declaration
- name: (name) @constructor
- (#eq? @constructor "__construct"))
-
-(object_creation_expression
- [
- (name) @constructor
- (qualified_name
- (name) @constructor)
- ])
-
-; Parameters
-[
- (simple_parameter)
- (variadic_parameter)
-] @variable.parameter
-
-(argument
- (name) @variable.parameter)
-
-; Member
-(property_element
- (variable_name) @property)
-
-(member_access_expression
- name:
- (variable_name
- (name)) @property)
-
-(member_access_expression
- name: (name) @property)
-
-; Variables
-(relative_scope) @variable.builtin
-
-((variable_name) @variable.builtin
- (#eq? @variable.builtin "$this"))
-
-; Namespace
-(namespace_definition
- name:
- (namespace_name
- (name) @module))
-
-(namespace_name_as_prefix
- (namespace_name
- (name) @module))
-
-; Attributes
-(attribute_list) @attribute
-
-; Conditions ( ? : )
-(conditional_expression) @keyword.conditional
-
-; Directives
-(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
-
-(escape_sequence) @string.escape
-
-[
- (heredoc_start)
- (heredoc_end)
-] @label
-
-(nowdoc
- "'" @label)
-
-(boolean) @boolean
-
-(null) @constant.builtin
-
-(integer) @number
-
-(float) @number.float
-
-(comment) @comment @spell
-
-(named_label_statement) @label
-
-; Keywords
-[
- "and"
- "as"
- "instanceof"
- "or"
- "xor"
-] @keyword.operator
-
-[
- "fn"
- "function"
-] @keyword.function
-
-[
- "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"
-] @type.qualifier
-
-[
- "return"
- "yield"
-] @keyword.return
-
-[
- "case"
- "else"
- "elseif"
- "endif"
- "endswitch"
- "if"
- "switch"
- "match"
- "??"
-] @keyword.conditional
-
-[
- "continue"
- "do"
- "endfor"
- "endforeach"
- "endwhile"
- "for"
- "foreach"
- "while"
-] @keyword.repeat
-
-[
- "catch"
- "finally"
- "throw"
- "try"
-] @keyword.exception
-
-[
- "include_once"
- "include"
- "require_once"
- "require"
- "use"
-] @keyword.import
-
-[
- ","
- ";"
- ":"
- "\\"
-] @punctuation.delimiter
-
-[
- (php_tag)
- "?>"
- "("
- ")"
- "["
- "]"
- "{"
- "}"
- "#["
-] @punctuation.bracket
-
-[
- "="
- "."
- "-"
- "*"
- "/"
- "+"
- "%"
- "**"
- "~"
- "|"
- "^"
- "&"
- "<<"
- ">>"
- "<<<"
- "->"
- "?->"
- "=>"
- "<"
- "<="
- ">="
- ">"
- "<>"
- "=="
- "!="
- "==="
- "!=="
- "!"
- "&&"
- "||"
- ".="
- "-="
- "+="
- "*="
- "/="
- "%="
- "**="
- "&="
- "|="
- "^="
- "<<="
- ">>="
- "??="
- "--"
- "++"
- "@"
- "::"
-] @operator
+; inherits: php_only