mirror of
https://github.com/zyedidia/micro.git
synced 2024-10-27 12:37:38 +03:00
da32457037
In addition, make the following changes to the kotlin syntax highlighting: - Add new unsigned types to type.storage - Add const as a statement keyword - Remove typeof from type keywords
67 lines
1.8 KiB
YAML
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):?"
|