Mercurial > vim
comparison runtime/syntax/avra.vim @ 8962:b4be6f6610a0
commit https://github.com/vim/vim/commit/0c1ff16b5467f97ce08134fdbc8198127bbe492a
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Apr 21 18:01:28 2016 +0200
updated runtime files. Add avra syntax.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 21 Apr 2016 18:15:05 +0200 |
parents | |
children | bdd7fc1a38c0 |
comparison
equal
deleted
inserted
replaced
8961:1a515f48cda6 | 8962:b4be6f6610a0 |
---|---|
1 " Vim syntax file | |
2 " Language: AVR Assembler (AVRA) | |
3 " AVRA Home: http://avra.sourceforge.net/index.html | |
4 " AVRA Version: 1.3.0 | |
5 " Maintainer: Marius Ghita <mhitza@gmail.com> | |
6 | |
7 let s:cpo_save = &cpo | |
8 set cpo&vim | |
9 | |
10 setlocal iskeyword=a-z,A-Z,48-57,.,_ | |
11 " 'isident' is a global option, better not set it | |
12 " setlocal isident=a-z,A-Z,48-57,.,_ | |
13 syn case ignore | |
14 | |
15 syn keyword avraRegister r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 | |
16 syn keyword avraRegister r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 | |
17 syn keyword avraRegister r28 r29 r30 r31 | |
18 | |
19 syn keyword avraInstr add adc adiw sub subi sbc sbci sbiw and andi or ori eor | |
20 syn keyword avraInstr com neg sbr cbr inc dec tst clr ser mul muls mulsu fmul | |
21 syn keyword avraInstr fmuls fmulsu des rjmp ijmp eijmp jmp rcall icall eicall | |
22 syn keyword avraInstr call ret reti cpse cp cpc cpi sbrc sbrs sbic sbis brbs | |
23 syn keyword avraInstr brbc breq brne brcs brcc brsh brlo brmi brpl brge brlt | |
24 syn keyword avraInstr brhs brhc brts brtc brvs brvc brie brid mov movw ldi lds | |
25 syn keyword avraInstr ld ldd sts st std lpm elpm spm in out push pop xch las | |
26 syn keyword avraInstr lac lat lsl lsr rol ror asr swap bset bclr sbi cbi bst bld | |
27 syn keyword avraInstr sec clc sen cln sez clz sei cli ses cls sev clv set clt | |
28 syn keyword avraInstr seh clh break nop sleep wdr | |
29 | |
30 syn keyword avraDirective .byte .cseg .db .def .device .dseg .dw .endmacro .equ | |
31 syn keyword avraDirective .eseg .exit .include .list .listmac .macro .nolist | |
32 syn keyword avraDirective .org .set .define .undef .ifdef .ifndef .if .else | |
33 syn keyword avraDirective .elif .elseif .warning | |
34 | |
35 syn keyword avraOperator low high byte2 byte3 byte4 lwrd hwrd page exp2 log2 | |
36 | |
37 syn match avraNumericOperator "[-*/+]" | |
38 syn match avraUnaryOperator "!" | |
39 syn match avraBinaryOperator "<<\|>>\|<\|<=\|>\|>=\|==\|!=" | |
40 syn match avraBitwiseOperator "[~&^|]\|&&\|||" | |
41 | |
42 syn match avraBinaryNumber "\<0[bB][0-1]*\>" | |
43 syn match avraHexNumber "\<0[xX][0-9a-fA-F]\+\>" | |
44 syn match avraDecNumber "\<\(0\|[1-9]\d*\)\>" | |
45 | |
46 syn region avraComment start=";" end="$" | |
47 syn region avraString start="\"" end="\"\|$" | |
48 | |
49 syn match avraLabel "^\s*[^; \t]\+:" | |
50 | |
51 hi def link avraBinaryNumber avraNumber | |
52 hi def link avraHexNumber avraNumber | |
53 hi def link avraDecNumber avraNumber | |
54 | |
55 hi def link avraNumericOperator avraOperator | |
56 hi def link avraUnaryOperator avraOperator | |
57 hi def link avraBinaryOperator avraOperator | |
58 hi def link avraBitwiseOperator avraOperator | |
59 | |
60 | |
61 hi def link avraOperator operator | |
62 hi def link avraComment comment | |
63 hi def link avraDirective preproc | |
64 hi def link avraRegister type | |
65 hi def link avraNumber constant | |
66 hi def link avraString String | |
67 hi def link avraInstr keyword | |
68 hi def link avraLabel label | |
69 | |
70 let b:current_syntax = "avra" | |
71 | |
72 let &cpo = s:cpo_save | |
73 unlet s:cpo_save |