summaryrefslogtreecommitdiff
path: root/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/armasm.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/armasm.xml
parent0130404a1dc663d4aa68d780c9bcb23a4243e68d (diff)
downloadjbmafp-c6cc0108ca7738023b45e0eeac0fa2390532dd93.tar.gz
Added vendor lock on depsHEADmaster
Diffstat (limited to 'vendor/github.com/alecthomas/chroma/v2/lexers/embedded/armasm.xml')
-rw-r--r--vendor/github.com/alecthomas/chroma/v2/lexers/embedded/armasm.xml126
1 files changed, 126 insertions, 0 deletions
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/armasm.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/armasm.xml
new file mode 100644
index 0000000..e5966cf
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/armasm.xml
@@ -0,0 +1,126 @@
+<lexer>
+ <config>
+ <name>ArmAsm</name>
+ <alias>armasm</alias>
+ <filename>*.s</filename>
+ <filename>*.S</filename>
+ <mime_type>text/x-armasm</mime_type>
+ <mime_type>text/x-asm</mime_type>
+ <ensure_nl>true</ensure_nl>
+ </config>
+ <rules>
+ <state name="root">
+ <rule>
+ <include state="commentsandwhitespace"/>
+ </rule>
+ <rule pattern="(\.\w+)([ \t]+\w+\s+?)?">
+ <bygroups>
+ <token type="KeywordNamespace"/>
+ <token type="NameLabel"/>
+ </bygroups>
+ </rule>
+ <rule pattern="(\w+)(:)(\s+\.\w+\s+)">
+ <bygroups>
+ <token type="NameLabel"/>
+ <token type="Punctuation"/>
+ <token type="KeywordNamespace"/>
+ </bygroups>
+ <push state="literal"/>
+ </rule>
+ <rule pattern="(\w+)(:)">
+ <bygroups>
+ <token type="NameLabel"/>
+ <token type="Punctuation"/>
+ </bygroups>
+ </rule>
+ <rule pattern="svc\s+\w+">
+ <token type="NameNamespace"/>
+ </rule>
+ <rule pattern="[a-zA-Z]+">
+ <token type="Text"/>
+ <push state="opcode"/>
+ </rule>
+ </state>
+ <state name="commentsandwhitespace">
+ <rule pattern="\s+">
+ <token type="Text"/>
+ </rule>
+ <rule pattern="[@;].*?\n">
+ <token type="CommentSingle"/>
+ </rule>
+ <rule pattern="/\*.*?\*/">
+ <token type="CommentMultiline"/>
+ </rule>
+ </state>
+ <state name="literal">
+ <rule pattern="0b[01]+">
+ <token type="LiteralNumberBin"/>
+ <pop depth="1"/>
+ </rule>
+ <rule pattern="0x\w{1,8}">
+ <token type="LiteralNumberHex"/>
+ <pop depth="1"/>
+ </rule>
+ <rule pattern="0\d+">
+ <token type="LiteralNumberOct"/>
+ <pop depth="1"/>
+ </rule>
+ <rule pattern="\d+?\.\d+?">
+ <token type="LiteralNumberFloat"/>
+ <pop depth="1"/>
+ </rule>
+ <rule pattern="\d+">
+ <token type="LiteralNumberInteger"/>
+ <pop depth="1"/>
+ </rule>
+ <rule pattern="(&#34;)(.+)(&#34;)">
+ <bygroups>
+ <token type="Punctuation"/>
+ <token type="LiteralStringDouble"/>
+ <token type="Punctuation"/>
+ </bygroups>
+ <pop depth="1"/>
+ </rule>
+ <rule pattern="(&#39;)(.{1}|\\.{1})(&#39;)">
+ <bygroups>
+ <token type="Punctuation"/>
+ <token type="LiteralStringChar"/>
+ <token type="Punctuation"/>
+ </bygroups>
+ <pop depth="1"/>
+ </rule>
+ </state>
+ <state name="opcode">
+ <rule pattern="\n">
+ <token type="Text"/>
+ <pop depth="1"/>
+ </rule>
+ <rule pattern="(@|;).*\n">
+ <token type="CommentSingle"/>
+ <pop depth="1"/>
+ </rule>
+ <rule pattern="(\s+|,)">
+ <token type="Text"/>
+ </rule>
+ <rule pattern="[rapcfxwbhsdqv]\d{1,2}">
+ <token type="NameClass"/>
+ </rule>
+ <rule pattern="=0x\w+">
+ <bygroups>
+ <token type="Text"/>
+ <token type="NameLabel"/>
+ </bygroups>
+ </rule>
+ <rule pattern="(=)(\w+)">
+ <bygroups>
+ <token type="Text"/>
+ <token type="NameLabel"/>
+ </bygroups>
+ </rule>
+ <rule pattern="#">
+ <token type="Text"/>
+ <push state="literal"/>
+ </rule>
+ </state>
+ </rules>
+</lexer> \ No newline at end of file