diff options
| author | Mitja Felicijan <mitja.felicijan@gmail.com> | 2024-10-25 00:47:47 +0200 |
|---|---|---|
| committer | Mitja Felicijan <mitja.felicijan@gmail.com> | 2024-10-25 00:47:47 +0200 |
| commit | c6cc0108ca7738023b45e0eeac0fa2390532dd93 (patch) | |
| tree | 36890e6cd3091bbab8efbe686cc56f467f645bfd /vendor/github.com/alecthomas/chroma/v2/lexers/embedded/haskell.xml | |
| parent | 0130404a1dc663d4aa68d780c9bcb23a4243e68d (diff) | |
| download | jbmafp-c6cc0108ca7738023b45e0eeac0fa2390532dd93.tar.gz | |
Diffstat (limited to 'vendor/github.com/alecthomas/chroma/v2/lexers/embedded/haskell.xml')
| -rw-r--r-- | vendor/github.com/alecthomas/chroma/v2/lexers/embedded/haskell.xml | 272 |
1 files changed, 272 insertions, 0 deletions
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/haskell.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/haskell.xml new file mode 100644 index 0000000..6dc6912 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/haskell.xml @@ -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 |
