-
Notifications
You must be signed in to change notification settings - Fork 14
/
ca65-gsu.tmLanguage
122 lines (122 loc) · 4.21 KB
/
ca65-gsu.tmLanguage
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>fileTypes</key>
<array>
<string>sgs</string>
<string>igs</string>
</array>
<key>name</key>
<string>ca65-gsu</string>
<key>patterns</key>
<array>
<dict>
<key>comment</key>
<string>GSU instructions</string>
<key>match</key>
<string>(?i)\b(adc|add|alt1|alt2|alt3|and|asr|bcc|bcs|beq|bge|bic|blt|bmi|bne|bpl|bra|bvc|bvs|cache|cmode|cmp|color|dec|div2|fmult|from|getb|getbh|getbl|getbs|getc|hib|ibt|inc|iwt|jmp|ldb|ldw|lea|link|ljmp|lm|lms|lmult|lob|loop|lsr|merge|move|moveb|moves|movew|mult|nop|not|or|or|plot|ramb|rol|romb|ror|rpix|sbc|sbk|sex|sm|and|sms|stb|stop|stw|sub|swap|to|umult|with|xor)\b</string>
<key>name</key>
<string>keyword.mnenomic.ca65-gsu</string>
</dict>
<dict>
<key>comment</key>
<string>GSU casfx pseudo-instructions</string>
<key>match</key>
<string>(?i)\b(pop|push|jal|ret)\b</string>
<key>name</key>
<string>keyword.pseudoinstructions.ca65-gsu</string>
</dict>
<dict>
<key>comment</key>
<string>ca65 pseudo functions</string>
<key>match</key>
<string>(?i)\.(addrsize|and|bank|bankbyte|blank|concat|const|hibyte|hiword|ident|left|lobyte|loword|match|max|mid|min|not|or|ref|referenced|right|sizeof|strat|sprintf|string|strlen|tcount|xmatch)\b</string>
<key>name</key>
<string>keyword.directives.ca65-gsu</string>
</dict>
<dict>
<key>comment</key>
<string>ca65 control commands</string>
<key>match</key>
<string>(?i)^[\s]*\.(a16|a8|addr|align|asciiz|assert|autoimport|bankbytes|bss|byt|byte|case|charmap|code|condes|constructor|data|dbyt|debuginfo|define|def|defined|delmacro|delmac|destructor|dword|else|elseif|end|endenum|endif|endmac|endmacro|endproc|endrep|endrepeat|endscope|endstruct|enum|error|exitmac|exitmacro|export|exportzp|faraddr|fatal|feature|fileopt|fopt|forceimport|global|globalzp|hibytes|i16|i8|if|ifblank|ifconst|ifdef|ifnblank|ifndef|ifnref|ifp02|ifp816|ifpc02|ifpcs02|ifref|import|importzp|incbin|include|interruptor|linecont|list|listbytes|lobytes|local|localchar|macpack|mac|macro|org|out|p02|p816|pagelen|pagelength|pc02|popcpu|popseg|proc|psc02|pushcpu|pushseg|reloc|repeat|res|rodata|scope|segment|set|setcpu|smart|struct|tag|undef|undefine|union|warning|word|zeropage)\b</string>
<key>name</key>
<string>keyword.directives.ca65-gsu</string>
</dict>
<dict>
<key>comment</key>
<string>Labels</string>
<key>match</key>
<string>(^|\n)([a-zA-Z0-9_\\@]*):</string>
<key>name</key>
<string>support.class.ca65-gsu</string>
</dict>
<dict>
<key>comment</key>
<string>String</string>
<key>match</key>
<string>(^|\s)"[\w\s\W]*"</string>
<key>name</key>
<string>string.ca65-gsu</string>
</dict>
<dict>
<key>comment</key>
<string>Hexadecimal number</string>
<key>match</key>
<string>(?i)\$((\d|[A-F])+)\b</string>
<key>name</key>
<string>constant.numeric.hex.ca65-gsu</string>
</dict>
<dict>
<key>comment</key>
<string>Binary number</string>
<key>match</key>
<string>(?i)\%([0|1]+)\b</string>
<key>name</key>
<string>constant.numeric.bin.ca65-gsu</string>
</dict>
<dict>
<key>comment</key>
<string>Decimal number</string>
<key>match</key>
<string>(?i)\#([0-9a-f$%]+)\b</string>
<key>name</key>
<string>constant.numeric.dec.ca65-gsu</string>
</dict>
<dict>
<key>comment</key>
<string>Block comment</string>
<key>begin</key>
<string>/\*</string>
<key>end</key>
<string>\*/</string>
<key>name</key>
<string>comment.block.ca65-gsu</string>
</dict>
<dict>
<key>comment</key>
<string>Documentation comment</string>
<key>begin</key>
<string>/\*\*(?!/)</string>
<key>end</key>
<string>\*/</string>
<key>name</key>
<string>comment.block.documentation.ca65-gsu</string>
</dict>
<dict>
<key>comment</key>
<string>Line comment</string>
<key>begin</key>
<string>;</string>
<key>end</key>
<string>\n</string>
<key>name</key>
<string>comment.line.ca65-gsu</string>
</dict>
</array>
<key>scopeName</key>
<string>source.ca65-gsu</string>
<key>uuid</key>
<string>9aef490b-df42-445f-ca65-725148a9d3e4</string>
</dict>
</plist>