nvim-treesitter/queries/kotlin/highlights.scm
2021-09-18 00:13:19 +02:00

195 lines
2.8 KiB
Scheme

[
(comment)
(shebang)
] @comment
[
":"
","
"."
] @punctuation.delimiter
[
"("
")"
"{"
"}"
] @punctuation.bracket
[
"class"
"object"
"fun"
"var"
"val"
"try"
"catch"
"finally"
] @keyword
"import" @include
"return" @keyword.return
(package_stmt
"package" @include)
(package_path
(identifier) @namespace)
(return_expr
"return@" @keyword.return
label: (identifier) @label)
(break_expr
"break@" @keyword
label: (identifier) @label)
(label
name: (identifier) @label) @constant
[
"for"
"do"
"while"
] @repeat
[
"||"
"&&"
"!="
"!=="
"=="
"==="
"<"
">"
"<="
">="
".."
"+"
"-"
"%"
"*"
"/"
] @operator
[
"as"
"as?"
"in"
] @keyword.operator
(class_decl
name: (identifier) @type)
(class_decl
super: (_) @type)
(object_decl
name: (identifier) @type)
(class_param
name: (identifier) @parameter
type: (_) @type)
(type_constraints
"where" @keyword
(type_constraint
type: (identifier) @type
super: (_) @type))
(property
name: (identifier) @property)
(property
type: (_) @type)
(enum_entry
name: (identifier) @constant)
(func_decl
name: (identifier) @function)
(func_decl
return: (_) @type)
(param_decl
name: (identifier) @parameter
type: (_) @type)
(type_param
name: (identifier) @type)
(call
function: (identifier) @function)
(call
function: (selector
field: (identifier) @function))
(getter
"get" @function.builtin)
(setter
"set" @function.builtin)
((identifier) @function.builtin
(#any-of? @function.builtin
"arrayOf"
"arrayOfNulls"
"assert"
"booleanArrayOf"
"byteArrayOf"
"Char"
"charArrayOf"
"check"
"checkNotNull"
"doubleArrayOf"
"emptyArray"
"enumValueOf"
"enumValues"
"error"
"floatArrayOf"
"intArrayOf"
"lazy"
"lazyOf"
"longArrayOf"
"repeat"
"require"
"requireNotNull"
"run"
"runCatching"
"shortArrayOf"
"suspend"
"synchronized"
"TODO"
"ubyteArrayOf"
"UintArray"
"uintArrayOf"
"ULongArray"
"ulongArrayOf"
"UShortArray"
"ushortArrayOf"
"with"
"print"
"println"
"readLine"))
((identifier) @constant.builtin
(#eq? @constant.builtin "it"))
(lambda
args: (var_decl
name: (identifier) @parameter))
(lambda
args: (var_decl
type: (_) @type ))
(binary_expr
operator: (identifier) @keyword.operator)
(ERROR) @error
(integer) @number
(float) @float
(string) @string
"null" @constant
[
"true"
"false"
] @boolean