Mercurial > yakumo_izuru > aya
diff vendor/github.com/alecthomas/chroma/v2/lexers/embedded/haskell.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/haskell.xml Sun Jul 23 13:18:53 2023 +0000 @@ -0,0 +1,272 @@ +<lexer> + <config> + <name>Haskell</name> + <alias>haskell</alias> + <alias>hs</alias> + <filename>*.hs</filename> + <mime_type>text/x-haskell</mime_type> + </config> + <rules> + <state name="escape"> + <rule pattern="[abfnrtv"\'&\\]"> + <token type="LiteralStringEscape"/> + <pop depth="1"/> + </rule> + <rule pattern="\^[][\p{Lu}@^_]"> + <token type="LiteralStringEscape"/> + <pop depth="1"/> + </rule> + <rule pattern="NUL|SOH|[SE]TX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|S[OI]|DLE|DC[1-4]|NAK|SYN|ETB|CAN|EM|SUB|ESC|[FGRU]S|SP|DEL"> + <token type="LiteralStringEscape"/> + <pop depth="1"/> + </rule> + <rule pattern="o[0-7]+"> + <token type="LiteralStringEscape"/> + <pop depth="1"/> + </rule> + <rule pattern="x[\da-fA-F]+"> + <token type="LiteralStringEscape"/> + <pop depth="1"/> + </rule> + <rule pattern="\d+"> + <token type="LiteralStringEscape"/> + <pop depth="1"/> + </rule> + <rule pattern="\s+\\"> + <token type="LiteralStringEscape"/> + <pop depth="1"/> + </rule> + </state> + <state name="root"> + <rule pattern="\s+"> + <token type="Text"/> + </rule> + <rule pattern="--(?![!#$%&*+./<=>?@^|_~:\\]).*?$"> + <token type="CommentSingle"/> + </rule> + <rule pattern="\{-"> + <token type="CommentMultiline"/> + <push state="comment"/> + </rule> + <rule pattern="\bimport\b"> + <token type="KeywordReserved"/> + <push state="import"/> + </rule> + <rule pattern="\bmodule\b"> + <token type="KeywordReserved"/> + <push state="module"/> + </rule> + <rule pattern="\berror\b"> + <token type="NameException"/> + </rule> + <rule pattern="\b(case|class|data|default|deriving|do|else|family|if|in|infix[lr]?|instance|let|newtype|of|then|type|where|_)(?!\')\b"> + <token type="KeywordReserved"/> + </rule> + <rule pattern="'[^\\]'"> + <token type="LiteralStringChar"/> + </rule> + <rule pattern="^[_\p{Ll}][\w\']*"> + <token type="NameFunction"/> + </rule> + <rule pattern="'?[_\p{Ll}][\w']*"> + <token type="Name"/> + </rule> + <rule pattern="('')?[\p{Lu}][\w\']*"> + <token type="KeywordType"/> + </rule> + <rule pattern="(')[\p{Lu}][\w\']*"> + <token type="KeywordType"/> + </rule> + <rule pattern="(')\[[^\]]*\]"> + <token type="KeywordType"/> + </rule> + <rule pattern="(')\([^)]*\)"> + <token type="KeywordType"/> + </rule> + <rule pattern="\\(?![:!#$%&*+.\\/<=>?@^|~-]+)"> + <token type="NameFunction"/> + </rule> + <rule pattern="(<-|::|->|=>|=)(?![:!#$%&*+.\\/<=>?@^|~-]+)"> + <token type="OperatorWord"/> + </rule> + <rule pattern=":[:!#$%&*+.\\/<=>?@^|~-]*"> + <token type="KeywordType"/> + </rule> + <rule pattern="[:!#$%&*+.\\/<=>?@^|~-]+"> + <token type="Operator"/> + </rule> + <rule pattern="\d+[eE][+-]?\d+"> + <token type="LiteralNumberFloat"/> + </rule> + <rule pattern="\d+\.\d+([eE][+-]?\d+)?"> + <token type="LiteralNumberFloat"/> + </rule> + <rule pattern="0[oO][0-7]+"> + <token type="LiteralNumberOct"/> + </rule> + <rule pattern="0[xX][\da-fA-F]+"> + <token type="LiteralNumberHex"/> + </rule> + <rule pattern="\d+"> + <token type="LiteralNumberInteger"/> + </rule> + <rule pattern="'"> + <token type="LiteralStringChar"/> + <push state="character"/> + </rule> + <rule pattern="""> + <token type="LiteralString"/> + <push state="string"/> + </rule> + <rule pattern="\[\]"> + <token type="KeywordType"/> + </rule> + <rule pattern="\(\)"> + <token type="NameBuiltin"/> + </rule> + <rule pattern="[][(),;`{}]"> + <token type="Punctuation"/> + </rule> + </state> + <state name="import"> + <rule pattern="\s+"> + <token type="Text"/> + </rule> + <rule pattern="""> + <token type="LiteralString"/> + <push state="string"/> + </rule> + <rule pattern="\)"> + <token type="Punctuation"/> + <pop depth="1"/> + </rule> + <rule pattern="qualified\b"> + <token type="Keyword"/> + </rule> + <rule pattern="([\p{Lu}][\w.]*)(\s+)(as)(\s+)([\p{Lu}][\w.]*)"> + <bygroups> + <token type="NameNamespace"/> + <token type="Text"/> + <token type="Keyword"/> + <token type="Text"/> + <token type="Name"/> + </bygroups> + <pop depth="1"/> + </rule> + <rule pattern="([\p{Lu}][\w.]*)(\s+)(hiding)(\s+)(\()"> + <bygroups> + <token type="NameNamespace"/> + <token type="Text"/> + <token type="Keyword"/> + <token type="Text"/> + <token type="Punctuation"/> + </bygroups> + <push state="funclist"/> + </rule> + <rule pattern="([\p{Lu}][\w.]*)(\s+)(\()"> + <bygroups> + <token type="NameNamespace"/> + <token type="Text"/> + <token type="Punctuation"/> + </bygroups> + <push state="funclist"/> + </rule> + <rule pattern="[\w.]+"> + <token type="NameNamespace"/> + <pop depth="1"/> + </rule> + </state> + <state name="module"> + <rule pattern="\s+"> + <token type="Text"/> + </rule> + <rule pattern="([\p{Lu}][\w.]*)(\s+)(\()"> + <bygroups> + <token type="NameNamespace"/> + <token type="Text"/> + <token type="Punctuation"/> + </bygroups> + <push state="funclist"/> + </rule> + <rule pattern="[\p{Lu}][\w.]*"> + <token type="NameNamespace"/> + <pop depth="1"/> + </rule> + </state> + <state name="funclist"> + <rule pattern="\s+"> + <token type="Text"/> + </rule> + <rule pattern="[\p{Lu}]\w*"> + <token type="KeywordType"/> + </rule> + <rule pattern="(_[\w\']+|[\p{Ll}][\w\']*)"> + <token type="NameFunction"/> + </rule> + <rule pattern="--(?![!#$%&*+./<=>?@^|_~:\\]).*?$"> + <token type="CommentSingle"/> + </rule> + <rule pattern="\{-"> + <token type="CommentMultiline"/> + <push state="comment"/> + </rule> + <rule pattern=","> + <token type="Punctuation"/> + </rule> + <rule pattern="[:!#$%&*+.\\/<=>?@^|~-]+"> + <token type="Operator"/> + </rule> + <rule pattern="\("> + <token type="Punctuation"/> + <push state="funclist" state="funclist"/> + </rule> + <rule pattern="\)"> + <token type="Punctuation"/> + <pop depth="2"/> + </rule> + </state> + <state name="comment"> + <rule pattern="[^-{}]+"> + <token type="CommentMultiline"/> + </rule> + <rule pattern="\{-"> + <token type="CommentMultiline"/> + <push/> + </rule> + <rule pattern="-\}"> + <token type="CommentMultiline"/> + <pop depth="1"/> + </rule> + <rule pattern="[-{}]"> + <token type="CommentMultiline"/> + </rule> + </state> + <state name="character"> + <rule pattern="[^\\']'"> + <token type="LiteralStringChar"/> + <pop depth="1"/> + </rule> + <rule pattern="\\"> + <token type="LiteralStringEscape"/> + <push state="escape"/> + </rule> + <rule pattern="'"> + <token type="LiteralStringChar"/> + <pop depth="1"/> + </rule> + </state> + <state name="string"> + <rule pattern="[^\\"]+"> + <token type="LiteralString"/> + </rule> + <rule pattern="\\"> + <token type="LiteralStringEscape"/> + <push state="escape"/> + </rule> + <rule pattern="""> + <token type="LiteralString"/> + <pop depth="1"/> + </rule> + </state> + </rules> +</lexer> \ No newline at end of file