9 - symbol.operator: ([.:;,+*|=!?\\%]|<|>|/|-|&)
12 - statement: \b(as|by|class|constructor|companion|fun|import|in|infix|interface|inline|is|out|operator|package|return|suspend|super|this|when|val|var)\b
13 - statement.properties: \b(get|set)\b
14 - statement.control: \b(break|continue|else|do|if|try|catch|finally|for|while)\b
15 - statement.class: \b(abstract|annotation|data|enum|final|open|sealed)\b
16 - statement.member: \b(override|lateinit|init)\b
17 - statement.access: \b(internal|private|protected|public)\b
18 - statement.parameter: \b(crossinline|noinline|reified|vararg)\b
20 # Expression and types
21 - type: \b(dynamic|object|throw|typealias|typeof)\b
24 - statement.meta: \@(\bfile|delegate|field|get|property|receiver|set|setparam|param|)\b
27 - constant: \b(true|false|null)
28 - constant.number: ([0-9]+)
31 - type.storage: \b(Byte|Char|Double|Float|Int|Long|Short|Boolean|Unit|Nothing)\b
34 - type.collections: \b(Array)\b
42 - constant.specialChar: (\\0|\\\\|\\t|\\n|\\r|\\"|\\')
43 - constant.unicode: \\u\{[[:xdigit:]]+}
46 - comment.shebang: ^(#!).*
49 - comment.line: "//.*"
56 - todo: "(TODO|XXX|FIXME):?"
63 - todo: "(TODO|XXX|FIXME):?"
66 - todo: "(TODO|XXX|FIXME):?"