Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 1 | " Vim syntax file |
| 2 | " Language: Motorola 68000 Assembler |
| 3 | " Maintainer: Steve Wall |
| 4 | " Last change: 2001 May 01 |
| 5 | " |
| 6 | " This is incomplete. In particular, support for 68020 and |
Viktor Szépe | dbf749b | 2023-10-16 09:53:37 +0200 | [diff] [blame] | 7 | " up and 68851/68881 co-processors is partial or non-existent. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 8 | " Feel free to contribute... |
| 9 | " |
| 10 | |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 11 | " quit when a syntax file was already loaded |
| 12 | if exists("b:current_syntax") |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 13 | finish |
| 14 | endif |
| 15 | |
| 16 | syn case ignore |
| 17 | |
| 18 | " Partial list of register symbols |
| 19 | syn keyword asm68kReg a0 a1 a2 a3 a4 a5 a6 a7 d0 d1 d2 d3 d4 d5 d6 d7 |
| 20 | syn keyword asm68kReg pc sr ccr sp usp ssp |
| 21 | |
| 22 | " MC68010 |
| 23 | syn keyword asm68kReg vbr sfc sfcr dfc dfcr |
| 24 | |
| 25 | " MC68020 |
| 26 | syn keyword asm68kReg msp isp zpc cacr caar |
| 27 | syn keyword asm68kReg za0 za1 za2 za3 za4 za5 za6 za7 |
| 28 | syn keyword asm68kReg zd0 zd1 zd2 zd3 zd4 zd5 zd6 zd7 |
| 29 | |
| 30 | " MC68030 |
| 31 | syn keyword asm68kReg crp srp tc ac0 ac1 acusr tt0 tt1 mmusr |
| 32 | |
| 33 | " MC68040 |
| 34 | syn keyword asm68kReg dtt0 dtt1 itt0 itt1 urp |
| 35 | |
| 36 | " MC68851 registers |
| 37 | syn keyword asm68kReg cal val scc crp srp drp tc ac psr pcsr |
| 38 | syn keyword asm68kReg bac0 bac1 bac2 bac3 bac4 bac5 bac6 bac7 |
| 39 | syn keyword asm68kReg bad0 bad1 bad2 bad3 bad4 bad5 bad6 bad7 |
| 40 | |
| 41 | " MC68881/82 registers |
| 42 | syn keyword asm68kReg fp0 fp1 fp2 fp3 fp4 fp5 fp6 fp7 |
| 43 | syn keyword asm68kReg control status iaddr fpcr fpsr fpiar |
| 44 | |
| 45 | " M68000 opcodes - order is important! |
| 46 | syn match asm68kOpcode "\<abcd\(\.b\)\=\s" |
| 47 | syn match asm68kOpcode "\<adda\(\.[wl]\)\=\s" |
| 48 | syn match asm68kOpcode "\<addi\(\.[bwl]\)\=\s" |
| 49 | syn match asm68kOpcode "\<addq\(\.[bwl]\)\=\s" |
| 50 | syn match asm68kOpcode "\<addx\(\.[bwl]\)\=\s" |
| 51 | syn match asm68kOpcode "\<add\(\.[bwl]\)\=\s" |
| 52 | syn match asm68kOpcode "\<andi\(\.[bwl]\)\=\s" |
| 53 | syn match asm68kOpcode "\<and\(\.[bwl]\)\=\s" |
| 54 | syn match asm68kOpcode "\<as[lr]\(\.[bwl]\)\=\s" |
| 55 | syn match asm68kOpcode "\<b[vc][cs]\(\.[bwls]\)\=\s" |
| 56 | syn match asm68kOpcode "\<beq\(\.[bwls]\)\=\s" |
| 57 | syn match asm68kOpcode "\<bg[et]\(\.[bwls]\)\=\s" |
| 58 | syn match asm68kOpcode "\<b[hm]i\(\.[bwls]\)\=\s" |
| 59 | syn match asm68kOpcode "\<bl[est]\(\.[bwls]\)\=\s" |
| 60 | syn match asm68kOpcode "\<bne\(\.[bwls]\)\=\s" |
| 61 | syn match asm68kOpcode "\<bpl\(\.[bwls]\)\=\s" |
| 62 | syn match asm68kOpcode "\<bchg\(\.[bl]\)\=\s" |
| 63 | syn match asm68kOpcode "\<bclr\(\.[bl]\)\=\s" |
| 64 | syn match asm68kOpcode "\<bfchg\s" |
| 65 | syn match asm68kOpcode "\<bfclr\s" |
| 66 | syn match asm68kOpcode "\<bfexts\s" |
| 67 | syn match asm68kOpcode "\<bfextu\s" |
| 68 | syn match asm68kOpcode "\<bfffo\s" |
| 69 | syn match asm68kOpcode "\<bfins\s" |
| 70 | syn match asm68kOpcode "\<bfset\s" |
| 71 | syn match asm68kOpcode "\<bftst\s" |
| 72 | syn match asm68kOpcode "\<bkpt\s" |
| 73 | syn match asm68kOpcode "\<bra\(\.[bwls]\)\=\s" |
| 74 | syn match asm68kOpcode "\<bset\(\.[bl]\)\=\s" |
| 75 | syn match asm68kOpcode "\<bsr\(\.[bwl]\)\=\s" |
| 76 | syn match asm68kOpcode "\<btst\(\.[bl]\)\=\s" |
| 77 | syn match asm68kOpcode "\<callm\s" |
| 78 | syn match asm68kOpcode "\<cas2\(\.[wl]\)\=\s" |
| 79 | syn match asm68kOpcode "\<cas\(\.[bwl]\)\=\s" |
| 80 | syn match asm68kOpcode "\<chk2\(\.[bwl]\)\=\s" |
| 81 | syn match asm68kOpcode "\<chk\(\.[wl]\)\=\s" |
| 82 | syn match asm68kOpcode "\<clr\(\.[bwl]\)\=\s" |
| 83 | syn match asm68kOpcode "\<cmpa\(\.[wl]\)\=\s" |
| 84 | syn match asm68kOpcode "\<cmpi\(\.[bwl]\)\=\s" |
| 85 | syn match asm68kOpcode "\<cmpm\(\.[bwl]\)\=\s" |
| 86 | syn match asm68kOpcode "\<cmp2\(\.[bwl]\)\=\s" |
| 87 | syn match asm68kOpcode "\<cmp\(\.[bwl]\)\=\s" |
| 88 | syn match asm68kOpcode "\<db[cv][cs]\(\.w\)\=\s" |
| 89 | syn match asm68kOpcode "\<dbeq\(\.w\)\=\s" |
| 90 | syn match asm68kOpcode "\<db[ft]\(\.w\)\=\s" |
| 91 | syn match asm68kOpcode "\<dbg[et]\(\.w\)\=\s" |
| 92 | syn match asm68kOpcode "\<db[hm]i\(\.w\)\=\s" |
| 93 | syn match asm68kOpcode "\<dbl[est]\(\.w\)\=\s" |
| 94 | syn match asm68kOpcode "\<dbne\(\.w\)\=\s" |
| 95 | syn match asm68kOpcode "\<dbpl\(\.w\)\=\s" |
| 96 | syn match asm68kOpcode "\<dbra\(\.w\)\=\s" |
| 97 | syn match asm68kOpcode "\<div[su]\(\.[wl]\)\=\s" |
| 98 | syn match asm68kOpcode "\<div[su]l\(\.l\)\=\s" |
| 99 | syn match asm68kOpcode "\<eori\(\.[bwl]\)\=\s" |
| 100 | syn match asm68kOpcode "\<eor\(\.[bwl]\)\=\s" |
| 101 | syn match asm68kOpcode "\<exg\(\.l\)\=\s" |
| 102 | syn match asm68kOpcode "\<extb\(\.l\)\=\s" |
| 103 | syn match asm68kOpcode "\<ext\(\.[wl]\)\=\s" |
| 104 | syn match asm68kOpcode "\<illegal\>" |
| 105 | syn match asm68kOpcode "\<jmp\(\.[ls]\)\=\s" |
| 106 | syn match asm68kOpcode "\<jsr\(\.[ls]\)\=\s" |
| 107 | syn match asm68kOpcode "\<lea\(\.l\)\=\s" |
| 108 | syn match asm68kOpcode "\<link\(\.[wl]\)\=\s" |
| 109 | syn match asm68kOpcode "\<ls[lr]\(\.[bwl]\)\=\s" |
| 110 | syn match asm68kOpcode "\<movea\(\.[wl]\)\=\s" |
| 111 | syn match asm68kOpcode "\<movec\(\.l\)\=\s" |
| 112 | syn match asm68kOpcode "\<movem\(\.[wl]\)\=\s" |
| 113 | syn match asm68kOpcode "\<movep\(\.[wl]\)\=\s" |
| 114 | syn match asm68kOpcode "\<moveq\(\.l\)\=\s" |
| 115 | syn match asm68kOpcode "\<moves\(\.[bwl]\)\=\s" |
| 116 | syn match asm68kOpcode "\<move\(\.[bwl]\)\=\s" |
| 117 | syn match asm68kOpcode "\<mul[su]\(\.[wl]\)\=\s" |
| 118 | syn match asm68kOpcode "\<nbcd\(\.b\)\=\s" |
| 119 | syn match asm68kOpcode "\<negx\(\.[bwl]\)\=\s" |
| 120 | syn match asm68kOpcode "\<neg\(\.[bwl]\)\=\s" |
| 121 | syn match asm68kOpcode "\<nop\>" |
| 122 | syn match asm68kOpcode "\<not\(\.[bwl]\)\=\s" |
| 123 | syn match asm68kOpcode "\<ori\(\.[bwl]\)\=\s" |
| 124 | syn match asm68kOpcode "\<or\(\.[bwl]\)\=\s" |
| 125 | syn match asm68kOpcode "\<pack\s" |
| 126 | syn match asm68kOpcode "\<pea\(\.l\)\=\s" |
| 127 | syn match asm68kOpcode "\<reset\>" |
| 128 | syn match asm68kOpcode "\<ro[lr]\(\.[bwl]\)\=\s" |
| 129 | syn match asm68kOpcode "\<rox[lr]\(\.[bwl]\)\=\s" |
| 130 | syn match asm68kOpcode "\<rt[dm]\s" |
| 131 | syn match asm68kOpcode "\<rt[ers]\>" |
| 132 | syn match asm68kOpcode "\<sbcd\(\.b\)\=\s" |
| 133 | syn match asm68kOpcode "\<s[cv][cs]\(\.b\)\=\s" |
| 134 | syn match asm68kOpcode "\<seq\(\.b\)\=\s" |
| 135 | syn match asm68kOpcode "\<s[ft]\(\.b\)\=\s" |
| 136 | syn match asm68kOpcode "\<sg[et]\(\.b\)\=\s" |
| 137 | syn match asm68kOpcode "\<s[hm]i\(\.b\)\=\s" |
| 138 | syn match asm68kOpcode "\<sl[est]\(\.b\)\=\s" |
| 139 | syn match asm68kOpcode "\<sne\(\.b\)\=\s" |
| 140 | syn match asm68kOpcode "\<spl\(\.b\)\=\s" |
| 141 | syn match asm68kOpcode "\<suba\(\.[wl]\)\=\s" |
| 142 | syn match asm68kOpcode "\<subi\(\.[bwl]\)\=\s" |
| 143 | syn match asm68kOpcode "\<subq\(\.[bwl]\)\=\s" |
| 144 | syn match asm68kOpcode "\<subx\(\.[bwl]\)\=\s" |
| 145 | syn match asm68kOpcode "\<sub\(\.[bwl]\)\=\s" |
| 146 | syn match asm68kOpcode "\<swap\(\.w\)\=\s" |
| 147 | syn match asm68kOpcode "\<tas\(\.b\)\=\s" |
| 148 | syn match asm68kOpcode "\<tdiv[su]\(\.l\)\=\s" |
| 149 | syn match asm68kOpcode "\<t\(rap\)\=[cv][cs]\(\.[wl]\)\=\s" |
| 150 | syn match asm68kOpcode "\<t\(rap\)\=eq\(\.[wl]\)\=\s" |
| 151 | syn match asm68kOpcode "\<t\(rap\)\=[ft]\(\.[wl]\)\=\s" |
| 152 | syn match asm68kOpcode "\<t\(rap\)\=g[et]\(\.[wl]\)\=\s" |
| 153 | syn match asm68kOpcode "\<t\(rap\)\=[hm]i\(\.[wl]\)\=\s" |
| 154 | syn match asm68kOpcode "\<t\(rap\)\=l[est]\(\.[wl]\)\=\s" |
| 155 | syn match asm68kOpcode "\<t\(rap\)\=ne\(\.[wl]\)\=\s" |
| 156 | syn match asm68kOpcode "\<t\(rap\)\=pl\(\.[wl]\)\=\s" |
| 157 | syn match asm68kOpcode "\<t\(rap\)\=v\>" |
| 158 | syn match asm68kOpcode "\<t\(rap\)\=[cv][cs]\>" |
| 159 | syn match asm68kOpcode "\<t\(rap\)\=eq\>" |
| 160 | syn match asm68kOpcode "\<t\(rap\)\=[ft]\>" |
| 161 | syn match asm68kOpcode "\<t\(rap\)\=g[et]\>" |
| 162 | syn match asm68kOpcode "\<t\(rap\)\=[hm]i\>" |
| 163 | syn match asm68kOpcode "\<t\(rap\)\=l[est]\>" |
| 164 | syn match asm68kOpcode "\<t\(rap\)\=ne\>" |
| 165 | syn match asm68kOpcode "\<t\(rap\)\=pl\>" |
| 166 | syn match asm68kOpcode "\<trap\s" |
| 167 | syn match asm68kOpcode "\<tst\(\.[bwl]\)\=\s" |
| 168 | syn match asm68kOpcode "\<unlk\s" |
| 169 | syn match asm68kOpcode "\<unpk\s" |
| 170 | |
| 171 | " Valid labels |
| 172 | syn match asm68kLabel "^[a-z_?.][a-z0-9_?.$]*$" |
| 173 | syn match asm68kLabel "^[a-z_?.][a-z0-9_?.$]*\s"he=e-1 |
| 174 | syn match asm68kLabel "^\s*[a-z_?.][a-z0-9_?.$]*:"he=e-1 |
| 175 | |
| 176 | " Various number formats |
| 177 | syn match hexNumber "\$[0-9a-fA-F]\+\>" |
| 178 | syn match hexNumber "\<[0-9][0-9a-fA-F]*H\>" |
| 179 | syn match octNumber "@[0-7]\+\>" |
| 180 | syn match octNumber "\<[0-7]\+[QO]\>" |
| 181 | syn match binNumber "%[01]\+\>" |
| 182 | syn match binNumber "\<[01]\+B\>" |
| 183 | syn match decNumber "\<[0-9]\+D\=\>" |
| 184 | syn match floatE "_*E_*" contained |
| 185 | syn match floatExponent "_*E_*[-+]\=[0-9]\+" contained contains=floatE |
| 186 | syn match floatNumber "[-+]\=[0-9]\+_*E_*[-+]\=[0-9]\+" contains=floatExponent |
| 187 | syn match floatNumber "[-+]\=[0-9]\+\.[0-9]\+\(E[-+]\=[0-9]\+\)\=" contains=floatExponent |
| 188 | syn match floatNumber ":\([0-9a-f]\+_*\)\+" |
| 189 | |
| 190 | " Character string constants |
| 191 | syn match asm68kStringError "'[ -~]*'" |
| 192 | syn match asm68kStringError "'[ -~]*$" |
| 193 | syn region asm68kString start="'" skip="''" end="'" oneline contains=asm68kCharError |
| 194 | syn match asm68kCharError "[^ -~]" contained |
| 195 | |
| 196 | " Immediate data |
| 197 | syn match asm68kImmediate "#\$[0-9a-fA-F]\+" contains=hexNumber |
| 198 | syn match asm68kImmediate "#[0-9][0-9a-fA-F]*H" contains=hexNumber |
| 199 | syn match asm68kImmediate "#@[0-7]\+" contains=octNumber |
| 200 | syn match asm68kImmediate "#[0-7]\+[QO]" contains=octNumber |
| 201 | syn match asm68kImmediate "#%[01]\+" contains=binNumber |
| 202 | syn match asm68kImmediate "#[01]\+B" contains=binNumber |
| 203 | syn match asm68kImmediate "#[0-9]\+D\=" contains=decNumber |
| 204 | syn match asm68kSymbol "[a-z_?.][a-z0-9_?.$]*" contained |
| 205 | syn match asm68kImmediate "#[a-z_?.][a-z0-9_?.]*" contains=asm68kSymbol |
| 206 | |
| 207 | " Special items for comments |
| 208 | syn keyword asm68kTodo contained TODO |
| 209 | |
| 210 | " Operators |
| 211 | syn match asm68kOperator "[-+*/]" " Must occur before Comments |
| 212 | syn match asm68kOperator "\.SIZEOF\." |
| 213 | syn match asm68kOperator "\.STARTOF\." |
| 214 | syn match asm68kOperator "<<" " shift left |
| 215 | syn match asm68kOperator ">>" " shift right |
| 216 | syn match asm68kOperator "&" " bit-wise logical and |
| 217 | syn match asm68kOperator "!" " bit-wise logical or |
| 218 | syn match asm68kOperator "!!" " exclusive or |
| 219 | syn match asm68kOperator "<>" " inequality |
| 220 | syn match asm68kOperator "=" " must be before other ops containing '=' |
| 221 | syn match asm68kOperator ">=" |
| 222 | syn match asm68kOperator "<=" |
Viktor Szépe | dbf749b | 2023-10-16 09:53:37 +0200 | [diff] [blame] | 223 | syn match asm68kOperator "==" " operand existence - used in macro definitions |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 224 | |
| 225 | " Condition code style operators |
| 226 | syn match asm68kOperator "<[CV][CS]>" |
| 227 | syn match asm68kOperator "<EQ>" |
| 228 | syn match asm68kOperator "<G[TE]>" |
| 229 | syn match asm68kOperator "<[HM]I>" |
| 230 | syn match asm68kOperator "<L[SET]>" |
| 231 | syn match asm68kOperator "<NE>" |
| 232 | syn match asm68kOperator "<PL>" |
| 233 | |
| 234 | " Comments |
| 235 | syn match asm68kComment ";.*" contains=asm68kTodo |
| 236 | syn match asm68kComment "\s!.*"ms=s+1 contains=asm68kTodo |
| 237 | syn match asm68kComment "^\s*[*!].*" contains=asm68kTodo |
| 238 | |
| 239 | " Include |
| 240 | syn match asm68kInclude "\<INCLUDE\s" |
| 241 | |
| 242 | " Standard macros |
| 243 | syn match asm68kCond "\<IF\(\.[BWL]\)\=\s" |
| 244 | syn match asm68kCond "\<THEN\(\.[SL]\)\=\>" |
| 245 | syn match asm68kCond "\<ELSE\(\.[SL]\)\=\>" |
| 246 | syn match asm68kCond "\<ENDI\>" |
| 247 | syn match asm68kCond "\<BREAK\(\.[SL]\)\=\>" |
| 248 | syn match asm68kRepeat "\<FOR\(\.[BWL]\)\=\s" |
| 249 | syn match asm68kRepeat "\<DOWNTO\s" |
| 250 | syn match asm68kRepeat "\<TO\s" |
| 251 | syn match asm68kRepeat "\<BY\s" |
| 252 | syn match asm68kRepeat "\<DO\(\.[SL]\)\=\>" |
| 253 | syn match asm68kRepeat "\<ENDF\>" |
| 254 | syn match asm68kRepeat "\<NEXT\(\.[SL]\)\=\>" |
| 255 | syn match asm68kRepeat "\<REPEAT\>" |
| 256 | syn match asm68kRepeat "\<UNTIL\(\.[BWL]\)\=\s" |
| 257 | syn match asm68kRepeat "\<WHILE\(\.[BWL]\)\=\s" |
| 258 | syn match asm68kRepeat "\<ENDW\>" |
| 259 | |
| 260 | " Macro definition |
| 261 | syn match asm68kMacro "\<MACRO\>" |
| 262 | syn match asm68kMacro "\<LOCAL\s" |
| 263 | syn match asm68kMacro "\<MEXIT\>" |
| 264 | syn match asm68kMacro "\<ENDM\>" |
| 265 | syn match asm68kMacroParam "\\[0-9]" |
| 266 | |
| 267 | " Conditional assembly |
| 268 | syn match asm68kPreCond "\<IFC\s" |
| 269 | syn match asm68kPreCond "\<IFDEF\s" |
| 270 | syn match asm68kPreCond "\<IFEQ\s" |
| 271 | syn match asm68kPreCond "\<IFGE\s" |
| 272 | syn match asm68kPreCond "\<IFGT\s" |
| 273 | syn match asm68kPreCond "\<IFLE\s" |
| 274 | syn match asm68kPreCond "\<IFLT\s" |
| 275 | syn match asm68kPreCond "\<IFNC\>" |
| 276 | syn match asm68kPreCond "\<IFNDEF\s" |
| 277 | syn match asm68kPreCond "\<IFNE\s" |
| 278 | syn match asm68kPreCond "\<ELSEC\>" |
| 279 | syn match asm68kPreCond "\<ENDC\>" |
| 280 | |
| 281 | " Loop control |
| 282 | syn match asm68kPreCond "\<REPT\s" |
| 283 | syn match asm68kPreCond "\<IRP\s" |
| 284 | syn match asm68kPreCond "\<IRPC\s" |
| 285 | syn match asm68kPreCond "\<ENDR\>" |
| 286 | |
| 287 | " Directives |
| 288 | syn match asm68kDirective "\<ALIGN\s" |
| 289 | syn match asm68kDirective "\<CHIP\s" |
| 290 | syn match asm68kDirective "\<COMLINE\s" |
| 291 | syn match asm68kDirective "\<COMMON\(\.S\)\=\s" |
| 292 | syn match asm68kDirective "\<DC\(\.[BWLSDXP]\)\=\s" |
| 293 | syn match asm68kDirective "\<DC\.\\[0-9]\s"me=e-3 " Special use in a macro def |
| 294 | syn match asm68kDirective "\<DCB\(\.[BWLSDXP]\)\=\s" |
| 295 | syn match asm68kDirective "\<DS\(\.[BWLSDXP]\)\=\s" |
| 296 | syn match asm68kDirective "\<END\>" |
| 297 | syn match asm68kDirective "\<EQU\s" |
| 298 | syn match asm68kDirective "\<FEQU\(\.[SDXP]\)\=\s" |
| 299 | syn match asm68kDirective "\<FAIL\>" |
| 300 | syn match asm68kDirective "\<FOPT\s" |
| 301 | syn match asm68kDirective "\<\(NO\)\=FORMAT\>" |
| 302 | syn match asm68kDirective "\<IDNT\>" |
| 303 | syn match asm68kDirective "\<\(NO\)\=LIST\>" |
| 304 | syn match asm68kDirective "\<LLEN\s" |
| 305 | syn match asm68kDirective "\<MASK2\>" |
| 306 | syn match asm68kDirective "\<NAME\s" |
| 307 | syn match asm68kDirective "\<NOOBJ\>" |
| 308 | syn match asm68kDirective "\<OFFSET\s" |
| 309 | syn match asm68kDirective "\<OPT\>" |
| 310 | syn match asm68kDirective "\<ORG\(\.[SL]\)\=\>" |
| 311 | syn match asm68kDirective "\<\(NO\)\=PAGE\>" |
| 312 | syn match asm68kDirective "\<PLEN\s" |
| 313 | syn match asm68kDirective "\<REG\s" |
| 314 | syn match asm68kDirective "\<RESTORE\>" |
| 315 | syn match asm68kDirective "\<SAVE\>" |
| 316 | syn match asm68kDirective "\<SECT\(\.S\)\=\s" |
| 317 | syn match asm68kDirective "\<SECTION\(\.S\)\=\s" |
| 318 | syn match asm68kDirective "\<SET\s" |
| 319 | syn match asm68kDirective "\<SPC\s" |
| 320 | syn match asm68kDirective "\<TTL\s" |
| 321 | syn match asm68kDirective "\<XCOM\s" |
| 322 | syn match asm68kDirective "\<XDEF\s" |
| 323 | syn match asm68kDirective "\<XREF\(\.S\)\=\s" |
| 324 | |
| 325 | syn case match |
| 326 | |
| 327 | " Define the default highlighting. |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 328 | " Only when an item doesn't have highlighting yet |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 329 | |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 330 | " The default methods for highlighting. Can be overridden later |
| 331 | " Comment Constant Error Identifier PreProc Special Statement Todo Type |
| 332 | " |
| 333 | " Constant Boolean Character Number String |
| 334 | " Identifier Function |
| 335 | " PreProc Define Include Macro PreCondit |
| 336 | " Special Debug Delimiter SpecialChar SpecialComment Tag |
| 337 | " Statement Conditional Exception Keyword Label Operator Repeat |
| 338 | " Type StorageClass Structure Typedef |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 339 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 340 | hi def link asm68kComment Comment |
| 341 | hi def link asm68kTodo Todo |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 342 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 343 | hi def link hexNumber Number " Constant |
| 344 | hi def link octNumber Number " Constant |
| 345 | hi def link binNumber Number " Constant |
| 346 | hi def link decNumber Number " Constant |
| 347 | hi def link floatNumber Number " Constant |
| 348 | hi def link floatExponent Number " Constant |
| 349 | hi def link floatE SpecialChar " Statement |
| 350 | "hi def link floatE Number " Constant |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 351 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 352 | hi def link asm68kImmediate SpecialChar " Statement |
| 353 | "hi def link asm68kSymbol Constant |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 354 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 355 | hi def link asm68kString String " Constant |
| 356 | hi def link asm68kCharError Error |
| 357 | hi def link asm68kStringError Error |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 358 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 359 | hi def link asm68kReg Identifier |
| 360 | hi def link asm68kOperator Identifier |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 361 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 362 | hi def link asm68kInclude Include " PreProc |
| 363 | hi def link asm68kMacro Macro " PreProc |
| 364 | hi def link asm68kMacroParam Keyword " Statement |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 365 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 366 | hi def link asm68kDirective Special |
| 367 | hi def link asm68kPreCond Special |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 368 | |
| 369 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 370 | hi def link asm68kOpcode Statement |
| 371 | hi def link asm68kCond Conditional " Statement |
| 372 | hi def link asm68kRepeat Repeat " Statement |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 373 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 374 | hi def link asm68kLabel Type |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 375 | |
| 376 | let b:current_syntax = "asm68k" |
| 377 | |
| 378 | " vim: ts=8 sw=2 |