micro/runtime/syntax/kotlin.yaml
Yevhen Babiichuk (DustDFG) 426e6c600f
Fix trailing spaces/tabs in yaml syntax files (#3200)
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-03-22 17:56:09 +01:00

67 lines
1.8 KiB
YAML

filetype: kotlin
detect:
filename: "\\.kts?$"
rules:
# Operators
- symbol.operator: ([.:;,+*|=!?\\%]|<|>|/|-|&)
# Statements Keywords
- statement: \b(as|by|class|constructor|companion|const|fun|import|in|infix|interface|inline|is|out|operator|package|return|suspend|super|this|when|val|var)\b
- statement.properties: \b(get|set)\b
- statement.control: \b(break|continue|else|do|if|try|catch|finally|for|while)\b
- statement.class: \b(abstract|annotation|data|enum|final|open|sealed)\b
- statement.member: \b(override|lateinit|init)\b
- statement.access: \b(internal|private|protected|public)\b
- statement.parameter: \b(crossinline|noinline|reified|vararg)\b
# Expression and types
- type: \b(dynamic|object|throw|typealias)\b
# Meta
- statement.meta: \@(\bfile|delegate|field|get|property|receiver|set|setparam|param|)\b
# Constant
- constant: \b(true|false|null)
- constant.number: ([0-9]+)
# Storage Types
- type.storage: \b(Byte|UByte|Char|Double|Float|Int|UInt|Long|ULong|Short|UShort|Boolean|Unit|Nothing)\b
# Collections
- type.collections: \b(Array)\b
# String
- constant.string:
start: \"
end: \"
skip: \\.
rules:
- constant.specialChar: (\\0|\\\\|\\t|\\n|\\r|\\"|\\')
- constant.unicode: \\u\{[[:xdigit:]]+}
# Shebang Line
- comment.shebang: ^(#!).*
# Line Comment
- comment.line: "//.*"
# Block Comment
- comment.block:
start: "/\\*"
end: "\\*/"
rules:
- todo: "(TODO|XXX|FIXME):?"
# Doc Block Comment
- comment.block:
start: "/\\*\\*"
end: "\\*/"
rules:
- todo: "(TODO|XXX|FIXME):?"
# Todo
- todo: "(TODO|XXX|FIXME):?"