From e7f60611acbfc6b22867240a166fcb7169843ee0 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Mon, 17 Jul 2023 01:09:38 -0400 Subject: switch to https://github.com/tree-sitter-perl/tree-sitter-perl (#7644) --- runtime/queries/perl/highlights.scm | 229 ++++++++++++------------------------ 1 file changed, 74 insertions(+), 155 deletions(-) (limited to 'runtime/queries/perl/highlights.scm') diff --git a/runtime/queries/perl/highlights.scm b/runtime/queries/perl/highlights.scm index b6f04291..961ff5ea 100644 --- a/runtime/queries/perl/highlights.scm +++ b/runtime/queries/perl/highlights.scm @@ -1,181 +1,100 @@ -; Variables -(variable_declaration - . - (scope) @keyword) [ -(single_var_declaration) -(scalar_variable) -(array_variable) -(hash_variable) -(hash_variable) -] @variable - + "use" "no" "require" "package" +] @keyword.control.import [ -(package_name) -(special_scalar_variable) -(special_array_variable) -(special_hash_variable) -(special_literal) -(super) -] @constant - -( - [ - (package_name) - (super) - ] - . - ("::" @operator) -) - -(comments) @comment -(pod_statement) @comment.block.documentation + "sub" +] @keyword.function [ -(use_no_statement) -(use_no_feature_statement) -(use_no_if_statement) -(use_no_version) -(use_constant_statement) -(use_parent_statement) -] @keyword - -(use_constant_statement - constant: (identifier) @constant) + "if" "elsif" "else" "unless" +] @keyword.control.conditional [ -"require" -] @keyword - -(method_invocation - . - (identifier) @variable) - -(method_invocation - (arrow_operator) - . - (identifier) @function) -(method_invocation - function_name: (identifier) @function) -(named_block_statement - function_name: (identifier) @function) - -(call_expression - function_name: (identifier) @function) -(function_definition - name: (identifier) @function) -[ -(function) -(map) -(grep) -(bless) -] @function + "while" "until" + "for" "foreach" + "do" +] @keyword.control.repeat [ -"return" -"sub" -"package" -"BEGIN" -"END" -] @keyword.function + "my" "our" "local" +] @keyword.storage.modifier [ -"(" -")" -"[" -"]" -"{" -"}" -] @punctuation.bracket -(standard_input_to_variable) @punctuation.bracket + "last" "next" "redo" "goto" "return" +] @keyword.control.return [ -"=~" -"or" -"=" -"==" -"+" -"-" -"." -"//" -"||" -(arrow_operator) -(hash_arrow_operator) -(array_dereference) -(hash_dereference) -(to_reference) -(type_glob) -(hash_access_variable) -(ternary_expression) -(ternary_expression_in_hash) -] @operator + "undef" +] @constant.builtin -[ -(regex_option) -(regex_option_for_substitution) -(regex_option_for_transliteration) -] @variable.parameter - -(type_glob - (identifier) @variable) -( - (scalar_variable) - . - ("->" @operator)) +(phaser_statement phase: _ @keyword.directive) [ -(word_list_qw) -(command_qx_quoted) -(string_single_quoted) -(string_double_quoted) -(string_qq_quoted) -(bareword) -(transliteration_tr_or_y) -] @string + "or" "and" + "eq" "ne" "cmp" "lt" "le" "ge" "gt" + "isa" +] @keyword.operator -[ -(regex_pattern_qr) -(patter_matcher_m) -(substitution_pattern_s) -] @string.regexp +(comment) @comment -(escape_sequence) @string.special +(eof_marker) @keyword.directive +(data_section) @comment -[ -"," -(semi_colon) -(start_delimiter) -(end_delimiter) -(ellipsis_statement) -] @punctuation.delimiter +(pod) @comment.block.documentation -[ -(integer) -(floating_point) -(scientific_notation) -(hexadecimal) -] @constant.numeric +(number) @constant.numeric +(version) @constant -[ -; (if_statement) -(unless_statement) -(if_simple_statement) -(unless_simple_statement) -] @keyword.control.conditional +(string_literal) @string +(interpolated_string_literal) @string +(quoted_word_list) @string +(command_string) @string +[(heredoc_token) (command_heredoc_token)] @string.special +(heredoc_content) @string +(heredoc_end) @string.special +[(escape_sequence) (escaped_delimiter)] @constant.character.escape -[ -"if" -"elsif" -"else" -] @keyword.control.conditional +[(quoted_regexp) (match_regexp)] @string.regexp + +(autoquoted_bareword _?) @string.special + +[(scalar) (arraylen)] @variable +(scalar_deref_expression ["->" "$" "*"] @variable) +(array) @variable +(array_deref_expression ["->" "@" "*"] @variable) +(hash) @variable +(hash_deref_expression ["->" "%" "*"] @variable) + +(array_element_expression [array:(_) "->" "[" "]"] @variable) +(slice_expression [array:(_) "->" "[" "]"] @variable) +(keyval_expression [array:(_) "->" "[" "]"] @variable) + +(hash_element_expression [hash:(_) "->" "{" "}"] @variable) +(slice_expression [hash:(_) "->" "[" "]"] @variable) +(keyval_expression [hash:(_) "->" "[" "]"] @variable) + +(hash_element_expression key: (bareword) @string.special) + +(use_statement (package) @type) +(package_statement (package) @type) +(require_expression (bareword) @type) + +(subroutine_declaration_statement name: (_) @function) +(attrlist (attribute) @attribute) + +(goto_expression (label) @label) +(loopex_expression (label) @label) + +(statement_label label: _ @label) -(foreach_statement) @keyword.control.repeat -(foreach_statement - . - (scope) @keyword) +(relational_expression operator: "isa" right: (bareword) @type) -(function_attribute) @label +(function_call_expression (function) @function) +(method_call_expression (method) @function.method) +(method_call_expression invocant: (bareword) @type) -(function_signature) @type +(func0op_call_expression function: _ @function.builtin) +(func1op_call_expression function: _ @function.builtin) +(function) @function -- cgit v1.2.3-70-g09d2