Mercurial > yakumo_izuru > aya
diff vendor/github.com/alecthomas/chroma/v2/lexers/embedded/kotlin.xml @ 66:787b5ee0289d draft
Use vendored modules
Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>
author | yakumo.izuru |
---|---|
date | Sun, 23 Jul 2023 13:18:53 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/kotlin.xml Sun Jul 23 13:18:53 2023 +0000 @@ -0,0 +1,220 @@ +<lexer> + <config> + <name>Kotlin</name> + <alias>kotlin</alias> + <filename>*.kt</filename> + <mime_type>text/x-kotlin</mime_type> + <dot_all>true</dot_all> + </config> + <rules> + <state name="string"> + <rule pattern="\\[tbnr'"\\\$]"> + <token type="LiteralStringEscape"/> + </rule> + <rule pattern="\\u[0-9a-fA-F]{4}"> + <token type="LiteralStringEscape"/> + </rule> + <rule pattern="""> + <token type="LiteralStringDouble"/> + <pop depth="1"/> + </rule> + <rule> + <include state="string-interpol"/> + </rule> + <rule pattern="[^\n\\"$]+"> + <token type="LiteralStringDouble"/> + </rule> + <rule pattern="\$"> + <token type="LiteralStringDouble"/> + </rule> + </state> + <state name="package"> + <rule pattern="\S+"> + <token type="NameNamespace"/> + <pop depth="1"/> + </rule> + </state> + <state name="class"> + <rule pattern="\x60[^\x60]+?\x60"> + <token type="NameClass"/> + <pop depth="1"/> + </rule> + <rule pattern="(?:[_\p{L}][\p{L}\p{N}]*|`@?[_\p{L}][\p{L}\p{N}]+`)"> + <token type="NameClass"/> + <pop depth="1"/> + </rule> + </state> + <state name="property"> + <rule pattern="\x60[^\x60]+?\x60"> + <token type="NameProperty"/> + <pop depth="1"/> + </rule> + <rule pattern="(?:[_\p{L}][\p{L}\p{N}]*|`@?[_\p{L}][\p{L}\p{N}]+`)"> + <token type="NameProperty"/> + <pop depth="1"/> + </rule> + </state> + <state name="string-interpol"> + <rule pattern="\$(?:[_\p{L}][\p{L}\p{N}]*|`@?[_\p{L}][\p{L}\p{N}]+`)"> + <token type="LiteralStringInterpol"/> + </rule> + <rule pattern="\${[^}\n]*}"> + <token type="LiteralStringInterpol"/> + </rule> + </state> + <state name="generics-specification"> + <rule pattern="<"> + <token type="Punctuation"/> + <push state="generics-specification"/> + </rule> + <rule pattern=">"> + <token type="Punctuation"/> + <pop depth="1"/> + </rule> + <rule pattern="[,:*?]"> + <token type="Punctuation"/> + </rule> + <rule pattern="(in|out|reified)"> + <token type="Keyword"/> + </rule> + <rule pattern="\x60[^\x60]+?\x60"> + <token type="NameClass"/> + </rule> + <rule pattern="(?:[_\p{L}][\p{L}\p{N}]*|`@?[_\p{L}][\p{L}\p{N}]+`)"> + <token type="NameClass"/> + </rule> + <rule pattern="\s+"> + <token type="Text"/> + </rule> + </state> + <state name="root"> + <rule pattern="^\s*\[.*?\]"> + <token type="NameAttribute"/> + </rule> + <rule pattern="[^\S\n]+"> + <token type="Text"/> + </rule> + <rule pattern="\\\n"> + <token type="Text"/> + </rule> + <rule pattern="//[^\n]*\n?"> + <token type="CommentSingle"/> + </rule> + <rule pattern="/[*].*?[*]/"> + <token type="CommentMultiline"/> + </rule> + <rule pattern="\n"> + <token type="Text"/> + </rule> + <rule pattern="!==|!in|!is|==="> + <token type="Operator"/> + </rule> + <rule pattern="%=|&&|\*=|\+\+|\+=|--|-=|->|\.\.|\/=|::|<=|==|>=|!!|!=|\|\||\?[:.]"> + <token type="Operator"/> + </rule> + <rule pattern="[~!%^&*()+=|\[\]:;,.<>\/?-]"> + <token type="Punctuation"/> + </rule> + <rule pattern="[{}]"> + <token type="Punctuation"/> + </rule> + <rule pattern="""""> + <token type="LiteralString"/> + <push state="rawstring"/> + </rule> + <rule pattern="""> + <token type="LiteralStringDouble"/> + <push state="string"/> + </rule> + <rule pattern="(')(\\u[0-9a-fA-F]{4})(')"> + <bygroups> + <token type="LiteralStringChar"/> + <token type="LiteralStringEscape"/> + <token type="LiteralStringChar"/> + </bygroups> + </rule> + <rule pattern="'\\.'|'[^\\]'"> + <token type="LiteralStringChar"/> + </rule> + <rule pattern="0[xX][0-9a-fA-F]+[Uu]?[Ll]?|[0-9]+(\.[0-9]*)?([eE][+-][0-9]+)?[fF]?[Uu]?[Ll]?"> + <token type="LiteralNumber"/> + </rule> + <rule pattern="(companion)(\s+)(object)"> + <bygroups> + <token type="Keyword"/> + <token type="Text"/> + <token type="Keyword"/> + </bygroups> + </rule> + <rule pattern="(class|interface|object)(\s+)"> + <bygroups> + <token type="Keyword"/> + <token type="Text"/> + </bygroups> + <push state="class"/> + </rule> + <rule pattern="(package|import)(\s+)"> + <bygroups> + <token type="Keyword"/> + <token type="Text"/> + </bygroups> + <push state="package"/> + </rule> + <rule pattern="(val|var)(\s+)"> + <bygroups> + <token type="Keyword"/> + <token type="Text"/> + </bygroups> + <push state="property"/> + </rule> + <rule pattern="(fun)(\s+)"> + <bygroups> + <token type="Keyword"/> + <token type="Text"/> + </bygroups> + <push state="function"/> + </rule> + <rule pattern="(abstract|actual|annotation|as|as\?|break|by|catch|class|companion|const|constructor|continue|crossinline|data|delegate|do|dynamic|else|enum|expect|external|false|field|file|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|it|lateinit|noinline|null|object|open|operator|out|override|package|param|private|property|protected|public|receiver|reified|return|sealed|set|setparam|super|suspend|tailrec|this|throw|true|try|typealias|typeof|val|value|var|vararg|when|where|while)\b"> + <token type="Keyword"/> + </rule> + <rule pattern="@(?:[_\p{L}][\p{L}\p{N}]*|`@?[_\p{L}][\p{L}\p{N}]+`)"> + <token type="NameDecorator"/> + </rule> + <rule pattern="(?:[_\p{L}][\p{L}\p{N}]*|`@?[_\p{L}][\p{L}\p{N}]+`)"> + <token type="Name"/> + </rule> + </state> + <state name="function"> + <rule pattern="<"> + <token type="Punctuation"/> + <push state="generics-specification"/> + </rule> + <rule pattern="\x60[^\x60]+?\x60"> + <token type="NameFunction"/> + <pop depth="1"/> + </rule> + <rule pattern="(?:[_\p{L}][\p{L}\p{N}]*|`@?[_\p{L}][\p{L}\p{N}]+`)"> + <token type="NameFunction"/> + <pop depth="1"/> + </rule> + <rule pattern="\s+"> + <token type="Text"/> + </rule> + </state> + <state name="rawstring"> + <rule pattern="""""> + <token type="LiteralString"/> + <pop depth="1"/> + </rule> + <rule pattern="(?:[^$"]+|\"{1,2}[^"])+"> + <token type="LiteralString"/> + </rule> + <rule> + <include state="string-interpol"/> + </rule> + <rule pattern="\$"> + <token type="LiteralString"/> + </rule> + </state> + </rules> +</lexer> \ No newline at end of file