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/modula-2.xml | |
| parent | 0130404a1dc663d4aa68d780c9bcb23a4243e68d (diff) | |
| download | jbmafp-master.tar.gz | |
Diffstat (limited to 'vendor/github.com/alecthomas/chroma/v2/lexers/embedded/modula-2.xml')
| -rw-r--r-- | vendor/github.com/alecthomas/chroma/v2/lexers/embedded/modula-2.xml | 245 |
1 files changed, 245 insertions, 0 deletions
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/modula-2.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/modula-2.xml new file mode 100644 index 0000000..0bf37bc --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/modula-2.xml @@ -0,0 +1,245 @@ +<lexer> + <config> + <name>Modula-2</name> + <alias>modula2</alias> + <alias>m2</alias> + <filename>*.def</filename> + <filename>*.mod</filename> + <mime_type>text/x-modula2</mime_type> + <dot_all>true</dot_all> + </config> + <rules> + <state name="dialecttags"> + <rule pattern="\(\*!m2pim\*\)"> + <token type="CommentSpecial"/> + </rule> + <rule pattern="\(\*!m2iso\*\)"> + <token type="CommentSpecial"/> + </rule> + <rule pattern="\(\*!m2r10\*\)"> + <token type="CommentSpecial"/> + </rule> + <rule pattern="\(\*!objm2\*\)"> + <token type="CommentSpecial"/> + </rule> + <rule pattern="\(\*!m2iso\+aglet\*\)"> + <token type="CommentSpecial"/> + </rule> + <rule pattern="\(\*!m2pim\+gm2\*\)"> + <token type="CommentSpecial"/> + </rule> + <rule pattern="\(\*!m2iso\+p1\*\)"> + <token type="CommentSpecial"/> + </rule> + <rule pattern="\(\*!m2iso\+xds\*\)"> + <token type="CommentSpecial"/> + </rule> + </state> + <state name="unigraph_operators"> + <rule pattern="[+-]"> + <token type="Operator"/> + </rule> + <rule pattern="[*/]"> + <token type="Operator"/> + </rule> + <rule pattern="\\"> + <token type="Operator"/> + </rule> + <rule pattern="[=#<>]"> + <token type="Operator"/> + </rule> + <rule pattern="\^"> + <token type="Operator"/> + </rule> + <rule pattern="@"> + <token type="Operator"/> + </rule> + <rule pattern="&"> + <token type="Operator"/> + </rule> + <rule pattern="~"> + <token type="Operator"/> + </rule> + <rule pattern="`"> + <token type="Operator"/> + </rule> + </state> + <state name="string_literals"> + <rule pattern="'(\\\\|\\'|[^'])*'"> + <token type="LiteralString"/> + </rule> + <rule pattern=""(\\\\|\\"|[^"])*""> + <token type="LiteralString"/> + </rule> + </state> + <state name="identifiers"> + <rule pattern="([a-zA-Z_$][\w$]*)"> + <token type="Name"/> + </rule> + </state> + <state name="pragmas"> + <rule pattern="<\*.*?\*>"> + <token type="CommentPreproc"/> + </rule> + <rule pattern="\(\*\$.*?\*\)"> + <token type="CommentPreproc"/> + </rule> + </state> + <state name="comments"> + <rule pattern="^//.*?\n"> + <token type="CommentSingle"/> + </rule> + <rule pattern="\(\*([^$].*?)\*\)"> + <token type="CommentMultiline"/> + </rule> + <rule pattern="/\*(.*?)\*/"> + <token type="CommentMultiline"/> + </rule> + </state> + <state name="whitespace"> + <rule pattern="\n+"> + <token type="Text"/> + </rule> + <rule pattern="\s+"> + <token type="Text"/> + </rule> + </state> + <state name="suffixed_number_literals"> + <rule pattern="[0-7]+B"> + <token type="LiteralNumberOct"/> + </rule> + <rule pattern="[0-7]+C"> + <token type="LiteralNumberOct"/> + </rule> + <rule pattern="[0-9A-F]+H"> + <token type="LiteralNumberHex"/> + </rule> + </state> + <state name="plain_number_literals"> + <rule pattern="[0-9]+(\'[0-9]+)*\.[0-9]+(\'[0-9]+)*[eE][+-]?[0-9]+(\'[0-9]+)*"> + <token type="LiteralNumberFloat"/> + </rule> + <rule pattern="[0-9]+(\'[0-9]+)*\.[0-9]+(\'[0-9]+)*"> + <token type="LiteralNumberFloat"/> + </rule> + <rule pattern="[0-9]+(\'[0-9]+)*"> + <token type="LiteralNumberInteger"/> + </rule> + </state> + <state name="digraph_punctuation"> + <rule pattern="\.\."> + <token type="Punctuation"/> + </rule> + <rule pattern="<<"> + <token type="Punctuation"/> + </rule> + <rule pattern=">>"> + <token type="Punctuation"/> + </rule> + <rule pattern="->"> + <token type="Punctuation"/> + </rule> + <rule pattern="\|#"> + <token type="Punctuation"/> + </rule> + <rule pattern="##"> + <token type="Punctuation"/> + </rule> + <rule pattern="\|\*"> + <token type="Punctuation"/> + </rule> + </state> + <state name="unigraph_punctuation"> + <rule pattern="[()\[\]{},.:;|]"> + <token type="Punctuation"/> + </rule> + <rule pattern="!"> + <token type="Punctuation"/> + </rule> + <rule pattern="\?"> + <token type="Punctuation"/> + </rule> + </state> + <state name="root"> + <rule> + <include state="whitespace"/> + </rule> + <rule> + <include state="dialecttags"/> + </rule> + <rule> + <include state="pragmas"/> + </rule> + <rule> + <include state="comments"/> + </rule> + <rule> + <include state="identifiers"/> + </rule> + <rule> + <include state="suffixed_number_literals"/> + </rule> + <rule> + <include state="prefixed_number_literals"/> + </rule> + <rule> + <include state="plain_number_literals"/> + </rule> + <rule> + <include state="string_literals"/> + </rule> + <rule> + <include state="digraph_punctuation"/> + </rule> + <rule> + <include state="digraph_operators"/> + </rule> + <rule> + <include state="unigraph_punctuation"/> + </rule> + <rule> + <include state="unigraph_operators"/> + </rule> + </state> + <state name="prefixed_number_literals"> + <rule pattern="0b[01]+(\'[01]+)*"> + <token type="LiteralNumberBin"/> + </rule> + <rule pattern="0[ux][0-9A-F]+(\'[0-9A-F]+)*"> + <token type="LiteralNumberHex"/> + </rule> + </state> + <state name="digraph_operators"> + <rule pattern="\*\."> + <token type="Operator"/> + </rule> + <rule pattern="\+>"> + <token type="Operator"/> + </rule> + <rule pattern="<>"> + <token type="Operator"/> + </rule> + <rule pattern="<="> + <token type="Operator"/> + </rule> + <rule pattern=">="> + <token type="Operator"/> + </rule> + <rule pattern="=="> + <token type="Operator"/> + </rule> + <rule pattern="::"> + <token type="Operator"/> + </rule> + <rule pattern=":="> + <token type="Operator"/> + </rule> + <rule pattern="\+\+"> + <token type="Operator"/> + </rule> + <rule pattern="--"> + <token type="Operator"/> + </rule> + </state> + </rules> +</lexer>
\ No newline at end of file |
