highlights.scm

  1"break" @keyword
  2"case" @keyword
  3"const" @keyword
  4"continue" @keyword
  5"default" @keyword
  6"do" @keyword
  7"else" @keyword
  8"enum" @keyword
  9"extern" @keyword
 10"for" @keyword
 11"if" @keyword
 12"inline" @keyword
 13"return" @keyword
 14"sizeof" @keyword
 15"static" @keyword
 16"struct" @keyword
 17"switch" @keyword
 18"typedef" @keyword
 19"union" @keyword
 20"volatile" @keyword
 21"while" @keyword
 22
 23"#define" @keyword
 24"#elif" @keyword
 25"#else" @keyword
 26"#endif" @keyword
 27"#if" @keyword
 28"#ifdef" @keyword
 29"#ifndef" @keyword
 30"#include" @keyword
 31(preproc_directive) @keyword
 32
 33"--" @operator
 34"-" @operator
 35"-=" @operator
 36"->" @operator
 37"=" @operator
 38"!=" @operator
 39"*" @operator
 40"&" @operator
 41"&&" @operator
 42"+" @operator
 43"++" @operator
 44"+=" @operator
 45"<" @operator
 46"==" @operator
 47">" @operator
 48"||" @operator
 49
 50"." @delimiter
 51";" @delimiter
 52
 53(string_literal) @string
 54(system_lib_string) @string
 55
 56(null) @constant
 57(number_literal) @number
 58(char_literal) @number
 59
 60(identifier) @variable
 61
 62(field_identifier) @property
 63(statement_identifier) @label
 64(type_identifier) @type
 65(primitive_type) @type
 66(sized_type_specifier) @type
 67
 68(call_expression
 69  function: (identifier) @function)
 70(call_expression
 71  function: (field_expression
 72    field: (field_identifier) @function))
 73(function_declarator
 74  declarator: (identifier) @function)
 75(preproc_function_def
 76  name: (identifier) @function.special)
 77
 78((identifier) @constant
 79 (#match? @constant "^[A-Z][A-Z\\d_]*$"))
 80
 81(comment) @comment
 82
 83[
 84  "in"
 85  "out"
 86  "inout"
 87  "uniform"
 88  "shared"
 89  "layout"
 90  "attribute"
 91  "varying"
 92  "buffer"
 93  "coherent"
 94  "readonly"
 95  "writeonly"
 96  "precision"
 97  "highp"
 98  "mediump"
 99  "lowp"
100  "centroid"
101  "sample"
102  "patch"
103  "smooth"
104  "flat"
105  "noperspective"
106  "invariant"
107  "precise"
108] @type.qualifier
109
110"subroutine" @keyword.function
111
112(extension_storage_class) @storageclass
113
114(
115  (identifier) @variable.builtin
116  (#match? @variable.builtin "^gl_")
117)