diff options
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.xml | 126 |
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="(")(.+)(")"> + <bygroups> + <token type="Punctuation"/> + <token type="LiteralStringDouble"/> + <token type="Punctuation"/> + </bygroups> + <pop depth="1"/> + </rule> + <rule pattern="(')(.{1}|\\.{1})(')"> + <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 |
