neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

avra.vim (2683B)


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