Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'runtime/queries/c/highlights.scm')
| -rw-r--r-- | runtime/queries/c/highlights.scm | 210 |
1 files changed, 65 insertions, 145 deletions
diff --git a/runtime/queries/c/highlights.scm b/runtime/queries/c/highlights.scm index 8e499dd6..2c42710f 100644 --- a/runtime/queries/c/highlights.scm +++ b/runtime/queries/c/highlights.scm @@ -1,167 +1,87 @@ - -(identifier) @variable - -((identifier) @constant - (#match? @constant "^[A-Z][A-Z\\d_]*$")) - +"goto" @keyword +"register" @keyword +"break" @keyword +"case" @keyword +"const" @keyword +"continue" @keyword +"default" @keyword +"do" @keyword +"else" @keyword +"enum" @keyword +"extern" @keyword +"for" @keyword +"if" @keyword +"inline" @keyword +"return" @keyword "sizeof" @keyword +"static" @keyword +"struct" @keyword +"switch" @keyword +"typedef" @keyword +"union" @keyword +"volatile" @keyword +"while" @keyword [ - "enum" - "struct" - "typedef" - "union" -] @keyword.storage.type - -[ - (type_qualifier) - (storage_class_specifier) -] @keyword.storage.modifier - -[ - "goto" - "break" - "continue" -] @keyword.control - -[ - "do" - "for" - "while" -] @keyword.control.repeat - -[ - "if" - "else" - "switch" - "case" - "default" -] @keyword.control.conditional - -"return" @keyword.control.return - -[ - "defined" - "#define" - "#elif" - "#else" - "#endif" - "#if" - "#ifdef" - "#ifndef" - "#include" - (preproc_directive) + "#define" + "#elif" + "#else" + "#endif" + "#if" + "#ifdef" + "#ifndef" + "#include" + (preproc_directive) ] @keyword.directive -"..." @punctuation - -["," "." ":" "::" ";" "->"] @punctuation.delimiter - -["(" ")" "[" "]" "{" "}" "[[" "]]"] @punctuation.bracket - -[ - "+" - "-" - "*" - "/" - "++" - "--" - "%" - "==" - "!=" - ">" - "<" - ">=" - "<=" - "&&" - "||" - "!" - "&" - "|" - "^" - "~" - "<<" - ">>" - "=" - "+=" - "-=" - "*=" - "/=" - "%=" - "<<=" - ">>=" - "&=" - "^=" - "|=" - "?" -] @operator - -(conditional_expression ":" @operator) ; After punctuation - -(pointer_declarator "*" @type.builtin) ; After Operators -(abstract_pointer_declarator "*" @type.builtin) - - -[(true) (false)] @constant.builtin.boolean - -(enumerator name: (identifier) @type.enum.variant) +"--" @operator +"-" @operator +"-=" @operator +"->" @operator +"=" @operator +"!=" @operator +"*" @operator +"&" @operator +"&&" @operator +"+" @operator +"++" @operator +"+=" @operator +"<" @operator +"==" @operator +">" @operator +"||" @operator + +"." @punctuation.delimiter +";" @punctuation.delimiter + +(enumerator) @type.enum.variant (string_literal) @string (system_lib_string) @string (null) @constant -(number_literal) @constant.numeric -(char_literal) @constant.character -(escape_sequence) @constant.character.escape - -(field_identifier) @variable.other.member -(statement_identifier) @label -(type_identifier) @type -(primitive_type) @type.builtin -(sized_type_specifier) @type.builtin +(number_literal) @number +(char_literal) @string (call_expression function: (identifier) @function) (call_expression function: (field_expression field: (field_identifier) @function)) -(call_expression (argument_list (identifier) @variable)) (function_declarator - declarator: [(identifier) (field_identifier)] @function) - -; Up to 6 layers of declarators -(parameter_declaration - declarator: (identifier) @variable.parameter) -(parameter_declaration - (_ - (identifier) @variable.parameter)) -(parameter_declaration - (_ - (_ - (identifier) @variable.parameter))) -(parameter_declaration - (_ - (_ - (_ - (identifier) @variable.parameter)))) -(parameter_declaration - (_ - (_ - (_ - (_ - (identifier) @variable.parameter))))) -(parameter_declaration - (_ - (_ - (_ - (_ - (_ - (identifier) @variable.parameter)))))) - + declarator: (identifier) @function) (preproc_function_def name: (identifier) @function.special) -(attribute - name: (identifier) @attribute) +(field_identifier) @property +(statement_identifier) @label +(type_identifier) @type +(primitive_type) @type +(sized_type_specifier) @type + +((identifier) @constant + (#match? @constant "^[A-Z][A-Z\\d_]*$")) + +(identifier) @variable (comment) @comment |