From f372e2ab87fc9c6d13cd16b69d7ef08479e7b963 Mon Sep 17 00:00:00 2001 From: Shirasaka Date: Fri, 31 Jul 2020 23:59:57 +0900 Subject: Add PHP, TOML, and update HTML, javascript queries - PHP : Add highlights and locals query - TOML : Add highlights and locals query - HTML : Add scope - javascript : Add some scopes --- queries/php/highlights.scm | 191 +++++++++++++++++++++++++++++++++++++++++++++ queries/php/locals.scm | 22 ++++++ 2 files changed, 213 insertions(+) create mode 100644 queries/php/highlights.scm create mode 100644 queries/php/locals.scm (limited to 'queries/php') diff --git a/queries/php/highlights.scm b/queries/php/highlights.scm new file mode 100644 index 000000000..c01b017a3 --- /dev/null +++ b/queries/php/highlights.scm @@ -0,0 +1,191 @@ +; Types + +[ + (primitive_type) + (cast_type) + ] @type.builtin +(type_name (name) @type) + +; Functions + +(array_creation_expression "array" @function.builtin) +(list_literal "list" @function.builtin) + +(method_declaration + name: (name) @method) + +(function_call_expression + function: (qualified_name (name)) @function) + +(scoped_call_expression + name: (name) @function) + +(member_call_expression + name: (name) @method) + +(function_definition + name: (name) @function) + +; 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 + +((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) + (heredoc) + ] @string + +(boolean) @boolean +(null) @constant.builtin +(integer) @number +(float) @float +(comment) @comment + +; Keywords + +[ + "$" + "abstract" + "as" + "break" + "class" + "const" + "continue" + "declare" + "default" + "echo" + "enddeclare" + "extends" + "final" + "function" + "global" + "implements" + "insteadof" + "interface" + "namespace" + "new" + "private" + "protected" + "public" + "return" + "static" + "trait" + ] @keyword + +[ + "case" + "else" + "elseif" + "endif" + "endswitch" + "if" + "switch" + ] @conditional + +[ + "do" + "endfor" + "endforeach" + "endwhile" + "for" + "foreach" + "while" + ] @repeat + +[ + "catch" + "finally" + "throw" + "try" + ] @exception + +[ + "include_once" + "include" + "require_once" + "require" + "use" + ] @include + +[ + "," + ";" + "." + ] @punctuation.delimiter + +[ + (php_tag) + "?>" + "(" + ")" + "[" + "]" + "{" + "}" + ] @punctuation.bracket + +[ + "=" + + "-" + "*" + "/" + "+" + "%" + + "~" + "|" + "&" + "<<" + ">>" + + "->" + + "<" + "<=" + ">=" + ">" + "==" + "!=" + "===" + "!==" + + "!" + "&&" + "||" + + "-=" + "+=" + "*=" + "/=" + "%=" + "|=" + "&=" + "--" + "++" +] @operator + +(ERROR) @error diff --git a/queries/php/locals.scm b/queries/php/locals.scm new file mode 100644 index 000000000..06c0af734 --- /dev/null +++ b/queries/php/locals.scm @@ -0,0 +1,22 @@ +; Scopes +;------- + +(class_declaration) @scope +(property_declaration) @scope +(method_declaration) @scope +(function_definition) @scope +(while_statement) @scope +(foreach_statement) @scope +(if_statement) @scope +(try_statement) @scope + +; Definitions +;------------ + +(variable_name + (name) @definition.var) + +; References +;------------ + +(variable_name) @reference -- cgit v1.2.3-70-g09d2