init
This commit is contained in:
66
micro/syntax/kotlin.yaml
Normal file
66
micro/syntax/kotlin.yaml
Normal file
@@ -0,0 +1,66 @@
|
||||
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):?"
|
||||
Reference in New Issue
Block a user