Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'runtime/queries/c-sharp/highlights.scm')
| -rw-r--r-- | runtime/queries/c-sharp/highlights.scm | 374 |
1 files changed, 102 insertions, 272 deletions
diff --git a/runtime/queries/c-sharp/highlights.scm b/runtime/queries/c-sharp/highlights.scm index 38394862..07c3bfc3 100644 --- a/runtime/queries/c-sharp/highlights.scm +++ b/runtime/queries/c-sharp/highlights.scm @@ -1,116 +1,63 @@ -;; Methods -(method_declaration - name: (identifier) @function) - -(method_declaration - type: [(identifier) (qualified_name)] @type) - -(invocation_expression - (member_access_expression - name: (identifier) @function)) - -(invocation_expression - function: (conditional_access_expression - (member_binding_expression - name: (identifier) @function))) - -(invocation_expression - [(identifier) (qualified_name)] @function) +(identifier) @variable -(local_function_statement - name: (identifier) @function) - -; Generic Method invocation with generic type -(invocation_expression - function: (generic_name - . (identifier) @function)) +;; Methods -;; Namespaces -(namespace_declaration - name: [(identifier) (qualified_name)] @namespace) +(method_declaration name: (identifier) @function) +(local_function_statement name: (identifier) @function) ;; Types + (interface_declaration name: (identifier) @type) (class_declaration name: (identifier) @type) (enum_declaration name: (identifier) @type) (struct_declaration (identifier) @type) (record_declaration (identifier) @type) -(namespace_declaration name: (identifier) @type) -(using_directive (_) @namespace) -(constructor_declaration name: (identifier) @type) -(destructor_declaration name: (identifier) @type) -(object_creation_expression [(identifier) (qualified_name)] @type) -(type_parameter_list (type_parameter) @type) -(array_type (identifier) @type) -(for_each_statement type: (identifier) @type) +(namespace_declaration name: (identifier) @namespace) -[ - (implicit_type) - (nullable_type) - (pointer_type) - (function_pointer_type) - (predefined_type) -] @type.builtin - -;; Generic Types -(type_of_expression - (generic_name - (identifier) @type)) - -(base_list - (generic_name - (identifier) @type)) +(generic_name (identifier) @type) +(type_parameter (identifier) @type.parameter) +(parameter type: (identifier) @type) +(type_argument_list (identifier) @type) +(as_expression right: (identifier) @type) +(is_expression right: (identifier) @type) -(type_constraint - (generic_name - (identifier) @type)) +(constructor_declaration name: (identifier) @constructor) +(destructor_declaration name: (identifier) @constructor) -(object_creation_expression - (generic_name - (identifier) @type)) +(_ type: (identifier) @type) -(property_declaration - (generic_name - (identifier) @type)) +(base_list (identifier) @type) -(_ - type: (generic_name - (identifier) @type)) +(predefined_type) @type.builtin ;; Enum -(enum_member_declaration (identifier) @variable.other.member) +(enum_member_declaration (identifier) @type.enum.variant) ;; Literals -[ - (real_literal) - (integer_literal) -] @constant.numeric.integer +(real_literal) @constant.numeric.float +(integer_literal) @constant.numeric.integer (character_literal) @constant.character + [ (string_literal) + (raw_string_literal) (verbatim_string_literal) - (interpolated_string_text) - (interpolated_verbatim_string_text) - (interpolation_format_clause) - "\"" - "$\"" - "@$\"" - "$@\"" + (interpolated_string_expression) + (interpolation_start) + (interpolation_quote) ] @string +(escape_sequence) @constant.character.escape + (boolean_literal) @constant.builtin.boolean -[ - (null_literal) - (void_keyword) -] @constant.builtin +(null_literal) @constant.builtin ;; Comments + (comment) @comment ;; Tokens -(type_argument_list ["<" ">"] @punctuation.bracket) -(type_parameter_list ["<" ">"] @punctuation.bracket) [ ";" @@ -123,6 +70,7 @@ "-" "-=" "&" + "&=" "&&" "+" "++" @@ -140,11 +88,14 @@ ">=" ">>" ">>=" + ">>>" + ">>>=" "|" - "||" "|=" + "||" "?" "??" + "??=" "^" "^=" "~" @@ -155,224 +106,103 @@ "%" "%=" ":" - "::" - ".." - "&=" - "->" - "??=" ] @operator -["(" ")" "[" "]" "{" "}"] @punctuation.bracket +[ + "(" + ")" + "[" + "]" + "{" + "}" + (interpolation_brace) +] @punctuation.bracket ;; Keywords -(modifier) @keyword.storage.modifier -(this_expression) @keyword -(escape_sequence) @constant.character.escape [ + (modifier) + "this" + (implicit_type) +] @keyword + +[ + "add" + "alias" "as" - "await" "base" + "break" + "case" + "catch" "checked" - "from" - "get" - "in" - "init" + "class" + "continue" + "default" + "delegate" + "do" + "else" + "enum" + "event" + "explicit" + "extern" + "finally" + "for" + "foreach" + "global" + "goto" + "if" + "implicit" + "interface" "is" - "let" "lock" - "new" + "namespace" + "notnull" "operator" - "out" "params" - "ref" - "select" - "set" + "return" + "remove" "sizeof" "stackalloc" + "static" + "struct" + "switch" + "throw" + "try" "typeof" "unchecked" "using" + "while" + "new" + "await" + "in" + "yield" + "get" + "set" "when" + "out" + "ref" + "from" "where" + "select" + "record" + "init" "with" - "yield" + "let" ] @keyword -[ - "class" - "delegate" - "enum" - "event" - "interface" - "namespace" - "struct" - "record" -] @keyword.storage.type - -[ - "explicit" - "implicit" - "static" -] @keyword.storage.modifier - -[ - "break" - "continue" - "goto" -] @keyword.control - -[ - "catch" - "finally" - "throw" - "try" -] @keyword.control.exception - -[ - "do" - "for" - "foreach" - "while" -] @keyword.control.repeat - -[ - "case" - "default" - "else" - "if" - "switch" -] @keyword.control.conditional - -"return" @keyword.control.return +;; Attribute -[ - (nullable_directive) - (define_directive) - (undef_directive) - (if_directive) - (else_directive) - (elif_directive) - (endif_directive) - (region_directive) - (endregion_directive) - (error_directive) - (warning_directive) - (line_directive) - (pragma_directive) -] @keyword.directive - -;; Linq -(from_clause (identifier) @variable) -(group_clause) -(order_by_clause) -(select_clause (identifier) @variable) -(query_continuation (identifier) @variable) @keyword - -;; Record -(with_expression - (with_initializer_expression - (simple_assignment_expression - (identifier) @variable))) - -;; Exprs -(binary_expression [(identifier) (qualified_name)] @variable [(identifier) (qualified_name)] @variable) -(binary_expression [(identifier) (qualified_name)]* @variable) -(conditional_expression [(identifier) (qualified_name)] @variable) -(conditional_access_expression [(identifier) (qualified_name)] @variable) -(prefix_unary_expression [(identifier) (qualified_name)] @variable) -(postfix_unary_expression [(identifier) (qualified_name)]* @variable) -(assignment_expression [(identifier) (qualified_name)] @variable) -(cast_expression [(identifier) (qualified_name)] @type [(identifier) (qualified_name)] @variable) -(element_access_expression (identifier) @variable) -(member_access_expression - expression: ([(identifier) (qualified_name)] @type - (#match? @type "^[A-Z]"))) -(member_access_expression [(identifier) (qualified_name)] @variable) - -;; Class -(base_list (identifier) @type) -(property_declaration (generic_name)) -(property_declaration - type: (nullable_type) @type - name: (identifier) @variable) -(property_declaration - type: (predefined_type) @type - name: (identifier) @variable) -(property_declaration - type: (identifier) @type - name: (identifier) @variable) - -;; Delegate -(delegate_declaration (identifier) @type) - -;; Lambda -(lambda_expression) @variable +(attribute name: (identifier) @attribute) -;; Attribute -(attribute) @type +;; Parameters -;; Parameter (parameter - type: (identifier) @type name: (identifier) @variable.parameter) -(parameter (identifier) @variable.parameter) -(parameter_modifier) @keyword - -(parameter_list - (parameter - name: (identifier) @parameter)) - -(parameter_list - (parameter - type: [(identifier) (qualified_name)] @type)) -;; Typeof -(type_of_expression [(identifier) (qualified_name)] @type) - -;; Variable -(variable_declaration [(identifier) (qualified_name)] @type) -(variable_declarator [(identifier) (qualified_name)] @variable) +;; Type constraints -;; Return -(return_statement (identifier) @variable) -(yield_statement (identifier) @variable) +(type_parameter_constraints_clause (identifier) @type.parameter) -;; Type -(generic_name (identifier) @type) -(type_parameter [(identifier) (qualified_name)] @type) -(type_argument_list [(identifier) (qualified_name)] @type) +;; Method calls -;; Type constraints -(type_parameter_constraints_clause (identifier) @variable.parameter) -(type_constraint (identifier) @type) - -;; Exception -(catch_declaration (identifier) @type (identifier) @variable) -(catch_declaration (identifier) @type) - -;; Switch -(switch_statement (identifier) @variable) -(switch_expression (identifier) @variable) - -;; Lock statement -(lock_statement (identifier) @variable) - -;; Declaration expression -(declaration_expression - type: (identifier) @type - name: (identifier) @variable) - -;; Rest -(argument (identifier) @variable) -(name_colon (identifier) @variable) -(if_statement (identifier) @variable) -(for_statement (identifier) @variable) -(for_each_statement (identifier) @variable) -(expression_statement (identifier) @variable) -(array_rank_specifier (identifier) @variable) -(equals_value_clause (identifier) @variable) -(interpolation (identifier) @variable) -(cast_expression (identifier) @variable) -((identifier) @comment.unused - (#eq? @comment.unused "_")) +(invocation_expression (member_access_expression name: (identifier) @function)) |