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/idris.xml | |
| parent | 0130404a1dc663d4aa68d780c9bcb23a4243e68d (diff) | |
| download | jbmafp-master.tar.gz | |
Diffstat (limited to 'vendor/github.com/alecthomas/chroma/v2/lexers/embedded/idris.xml')
| -rw-r--r-- | vendor/github.com/alecthomas/chroma/v2/lexers/embedded/idris.xml | 216 |
1 files changed, 216 insertions, 0 deletions
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/idris.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/idris.xml new file mode 100644 index 0000000..9592d88 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/idris.xml @@ -0,0 +1,216 @@ +<lexer> + <config> + <name>Idris</name> + <alias>idris</alias> + <alias>idr</alias> + <filename>*.idr</filename> + <mime_type>text/x-idris</mime_type> + </config> + <rules> + <state name="escape"> + <rule pattern="[abfnrtv"\'&\\]"> + <token type="LiteralStringEscape"/> + <pop depth="1"/> + </rule> + <rule pattern="\^[][A-Z@^_]"> + <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*)(%lib|link|flag|include|hide|freeze|access|default|logging|dynamic|name|error_handlers|language)"> + <bygroups> + <token type="Text"/> + <token type="KeywordReserved"/> + </bygroups> + </rule> + <rule pattern="(\s*)(--(?![!#$%&*+./<=>?@^|_~:\\]).*?)$"> + <bygroups> + <token type="Text"/> + <token type="CommentSingle"/> + </bygroups> + </rule> + <rule pattern="(\s*)(\|{3}.*?)$"> + <bygroups> + <token type="Text"/> + <token type="CommentSingle"/> + </bygroups> + </rule> + <rule pattern="(\s*)(\{-)"> + <bygroups> + <token type="Text"/> + <token type="CommentMultiline"/> + </bygroups> + <push state="comment"/> + </rule> + <rule pattern="^(\s*)([^\s(){}]+)(\s*)(:)(\s*)"> + <bygroups> + <token type="Text"/> + <token type="NameFunction"/> + <token type="Text"/> + <token type="OperatorWord"/> + <token type="Text"/> + </bygroups> + </rule> + <rule pattern="\b(case|class|data|default|using|do|else|if|in|infix[lr]?|instance|rewrite|auto|namespace|codata|mutual|private|public|abstract|total|partial|let|proof|of|then|static|where|_|with|pattern|term|syntax|prefix|postulate|parameters|record|dsl|impossible|implicit|tactics|intros|intro|compute|refine|exact|trivial)(?!\')\b"> + <token type="KeywordReserved"/> + </rule> + <rule pattern="(import|module)(\s+)"> + <bygroups> + <token type="KeywordReserved"/> + <token type="Text"/> + </bygroups> + <push state="module"/> + </rule> + <rule pattern="('')?[A-Z][\w\']*"> + <token type="KeywordType"/> + </rule> + <rule pattern="[a-z][\w\']*"> + <token type="Text"/> + </rule> + <rule pattern="(<-|::|->|=>|=)"> + <token type="OperatorWord"/> + </rule> + <rule pattern="([(){}\[\]:!#$%&*+.\\/<=>?@^|~-]+)"> + <token type="OperatorWord"/> + </rule> + <rule pattern="\d+[eE][+-]?\d+"> + <token type="LiteralNumberFloat"/> + </rule> + <rule pattern="\d+\.\d+([eE][+-]?\d+)?"> + <token type="LiteralNumberFloat"/> + </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="[^\s(){}]+"> + <token type="Text"/> + </rule> + <rule pattern="\s+?"> + <token type="Text"/> + </rule> + </state> + <state name="module"> + <rule pattern="\s+"> + <token type="Text"/> + </rule> + <rule pattern="([A-Z][\w.]*)(\s+)(\()"> + <bygroups> + <token type="NameNamespace"/> + <token type="Text"/> + <token type="Punctuation"/> + </bygroups> + <push state="funclist"/> + </rule> + <rule pattern="[A-Z][\w.]*"> + <token type="NameNamespace"/> + <pop depth="1"/> + </rule> + </state> + <state name="funclist"> + <rule pattern="\s+"> + <token type="Text"/> + </rule> + <rule pattern="[A-Z]\w*"> + <token type="KeywordType"/> + </rule> + <rule pattern="(_[\w\']+|[a-z][\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"/> + </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 |
