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