summaryrefslogtreecommitdiff
path: root/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/snobol.xml
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2024-10-25 00:47:47 +0200
committerMitja Felicijan <mitja.felicijan@gmail.com>2024-10-25 00:47:47 +0200
commitc6cc0108ca7738023b45e0eeac0fa2390532dd93 (patch)
tree36890e6cd3091bbab8efbe686cc56f467f645bfd /vendor/github.com/alecthomas/chroma/v2/lexers/embedded/snobol.xml
parent0130404a1dc663d4aa68d780c9bcb23a4243e68d (diff)
downloadjbmafp-master.tar.gz
Added vendor lock on depsHEADmaster
Diffstat (limited to 'vendor/github.com/alecthomas/chroma/v2/lexers/embedded/snobol.xml')
-rw-r--r--vendor/github.com/alecthomas/chroma/v2/lexers/embedded/snobol.xml95
1 files changed, 95 insertions, 0 deletions
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/snobol.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/snobol.xml
new file mode 100644
index 0000000..f53dbcb
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/snobol.xml
@@ -0,0 +1,95 @@
+<lexer>
+ <config>
+ <name>Snobol</name>
+ <alias>snobol</alias>
+ <filename>*.snobol</filename>
+ <mime_type>text/x-snobol</mime_type>
+ </config>
+ <rules>
+ <state name="heredoc">
+ <rule pattern=".*\n">
+ <token type="LiteralStringHeredoc"/>
+ </rule>
+ </state>
+ <state name="root">
+ <rule pattern="\*.*\n">
+ <token type="Comment"/>
+ </rule>
+ <rule pattern="[+.] ">
+ <token type="Punctuation"/>
+ <push state="statement"/>
+ </rule>
+ <rule pattern="-.*\n">
+ <token type="Comment"/>
+ </rule>
+ <rule pattern="END\s*\n">
+ <token type="NameLabel"/>
+ <push state="heredoc"/>
+ </rule>
+ <rule pattern="[A-Za-z$][\w$]*">
+ <token type="NameLabel"/>
+ <push state="statement"/>
+ </rule>
+ <rule pattern="\s+">
+ <token type="Text"/>
+ <push state="statement"/>
+ </rule>
+ </state>
+ <state name="statement">
+ <rule pattern="\s*\n">
+ <token type="Text"/>
+ <pop depth="1"/>
+ </rule>
+ <rule pattern="\s+">
+ <token type="Text"/>
+ </rule>
+ <rule pattern="(?&lt;=[^\w.])(LT|LE|EQ|NE|GE|GT|INTEGER|IDENT|DIFFER|LGT|SIZE|REPLACE|TRIM|DUPL|REMDR|DATE|TIME|EVAL|APPLY|OPSYN|LOAD|UNLOAD|LEN|SPAN|BREAK|ANY|NOTANY|TAB|RTAB|REM|POS|RPOS|FAIL|FENCE|ABORT|ARB|ARBNO|BAL|SUCCEED|INPUT|OUTPUT|TERMINAL)(?=[^\w.])">
+ <token type="NameBuiltin"/>
+ </rule>
+ <rule pattern="[A-Za-z][\w.]*">
+ <token type="Name"/>
+ </rule>
+ <rule pattern="\*\*|[?$.!%*/#+\-@|&amp;\\=]">
+ <token type="Operator"/>
+ </rule>
+ <rule pattern="&#34;[^&#34;]*&#34;">
+ <token type="LiteralString"/>
+ </rule>
+ <rule pattern="&#39;[^&#39;]*&#39;">
+ <token type="LiteralString"/>
+ </rule>
+ <rule pattern="[0-9]+(?=[^.EeDd])">
+ <token type="LiteralNumberInteger"/>
+ </rule>
+ <rule pattern="[0-9]+(\.[0-9]*)?([EDed][-+]?[0-9]+)?">
+ <token type="LiteralNumberFloat"/>
+ </rule>
+ <rule pattern=":">
+ <token type="Punctuation"/>
+ <push state="goto"/>
+ </rule>
+ <rule pattern="[()&lt;&gt;,;]">
+ <token type="Punctuation"/>
+ </rule>
+ </state>
+ <state name="goto">
+ <rule pattern="\s*\n">
+ <token type="Text"/>
+ <pop depth="2"/>
+ </rule>
+ <rule pattern="\s+">
+ <token type="Text"/>
+ </rule>
+ <rule pattern="F|S">
+ <token type="Keyword"/>
+ </rule>
+ <rule pattern="(\()([A-Za-z][\w.]*)(\))">
+ <bygroups>
+ <token type="Punctuation"/>
+ <token type="NameLabel"/>
+ <token type="Punctuation"/>
+ </bygroups>
+ </rule>
+ </state>
+ </rules>
+</lexer> \ No newline at end of file