" Vim syntax file " Language: Assembler, KickAssembler " Maintainer: Roman 'gryf' Dobosz " Last Change: 2012-06-03 " Version: 0.1 " " To install this file place it in ~/.vim/syntax (*nix/Mac) or in " $VIMRUNTIME/syntax on Windows and issue command: " " :set filetype=kickass " " You can also add to your vimrc file autocommand: " " autocmd BufRead *.asm set filetype=kickass " " From now on, all files with extension 'asm' will have brand new kickass " syntax. " " Enjoy. syn clear syn case ignore syn region asmString start=+"+ end=+"+ syn region asmSString start=+'+ end=+'+ contains=@Spell syn keyword asm6502Mnemonics adc and asl bit brk clc cld cli clv cmp cpx cpy syn keyword asm6502Mnemonics dec dex dey eor inc inx iny lda ldx ldy lsr nop syn keyword asm6502Mnemonics ora pha php pla plp rol ror sbc sec sed sei sta syn keyword asm6502Mnemonics stx sty tax tay tsx txa txs tya syn keyword asmDtvMnemonics bra sac sir syn match asm6502Index ",\s*[xy]" contains=asm6502Mnemonics,asmDtvMnemonics syn keyword asm6502Jumps bcc bcs beq bmi bne bpl bvc bvs jmp jsr rti rts syn keyword asm6510Illegal slo rla sre rra sax lax dcp isc anc asr arr sbx syn keyword asm6510Illegal dop top jam syn match asmMacroCall ":[a-z_][a-z0-9_]*" syn region asmString start=+"+ skip=+\\"+ end=+"+ contains=@Spell syn region asmSString start=+'+ skip=+\\'+ end=+'+ contains=@Spell "syn match asmLabel "[\^\s]\!\?\<[a-z0-9_]*\>[:+-]\?[\s$]" kurwa!!!!!!!! syn match asmLabel "^\!\?\<[a-z0-9_]*\>:" "syn match line "asmLabel2 syn keyword asmTodo TODO FIXME XXX TBD NOTE WARNING BUG syn match asmLineComment "\/\/.*" contains=@Spell,asmTodo syn region asmComment start="/\*" end="\*/" contains=@Spell,asmTodo syn match decNumber "\<\d\+\>" syn match hexNumber "\$\x\+\>" syn match binNumber "%[01]\+\>" syn match asmImmediate "#\$\x\+\>" syn match asmImmediate "#\d\+\>" syn match asmImmediate "<\$\x\+\>" syn match asmImmediate "<\d\+\>" syn match asmImmediate ">\$\x\+\>" syn match asmImmediate ">\d\+\>" syn match asmImmediate "#<\$\x\+\>" syn match asmImmediate "#<\d\+\>" syn match asmImmediate "#>\$\x\+\>" syn match asmImmediate "#>\d\+\>" " memory and data directives syn match kickAssDirectives "\.\" syn match kickAssDirectives "\.\" syn match kickAssDirectives "\.\" syn match kickAssDirectives "\.\" syn match kickAssDirectives "\.\" syn match kickAssDirectives "\.\" syn match kickAssDirectives "\.\" syn match kickAssDirectives "\.\" " import directive syn match kickAssDirectives "\.\" " console output syn match kickAssDirectives "\.\" syn match kickAssDirectives "\.\" syn match kickAssDirectives "\.\" " elements of script language syn match kickAssDirectives "\.\" syn match kickAssDirectives "\.\" syn match kickAssDirectives "\.\" syn match kickAssDirectives "\.\" syn match kickAssDirectives "\.\" syn match kickAssDirectives ":\" syn match kickAssDirectives "\.\" syn match kickAssDirectives "\.\" syn match kickAssDirectives "\.\" syn match kickAssDirectives "\.\" syn match kickAssDirectives "\.\" syn match kickAssDirectives "\.\" syn match kickAssDirectives "\.\" nextgroup=asmDefName skipwhite syn match kickAssDirectives "\.\" syn match kickAssDirectives "\.\" nextgroup=asmDefName skipwhite syn match kickAssDirectives "\.\" syn match kickAssDirectives "\.\" syn match kickAssDirectives "\.\" syn match kickAssDirectives "\.\" syn match kickAssDirectives "\" syn match kickAssDirectives "\" syn match kickAssDirectives "\" syn match kickAssDirectives "\" syn keyword kickAssColors BLACK WHITE RED CYAN PURPLE GREEN BLUE YELLOW ORANGE syn keyword kickAssColors BROWN LIGHT_RED DARK_GRAY GRAY LIGHT_GREEN LIGHT_BLUE syn keyword kickAssColors LIGHT_GRAY syn keyword kickAssConstants BD_C64FILE BF_BITMAP_SINGLECOLOR BF_KOALA BF_FLI syn match asmDefName "[a-zA-Z_][a-zA-Z0-9_]*" display contained syn match kickAssFunctions "\" display contained syn match kickAssFunctions "\" display contained syn match kickAssFunctions "\" display contained syn match kickAssFunctions "\" display contained syn match kickAssFunctions "\" display contained syn match kickAssFunctions "\" display contained syn match kickAssFunctions "\" display contained syn match kickAssFunctions "\" display contained syn match kickAssFunctions "\" display contained " generic/common methods (same name, different but similar behaviour - " depending on context) syn match kickAssFunctions "\.\" display contained syn match kickAssFunctions "\.\" display contained syn match kickAssFunctions "\.\" display contained " string methods syn match kickAssFunctions "\.\" display contained syn match kickAssFunctions "\.\" display contained syn match kickAssFunctions "\.\" display contained syn match kickAssFunctions "\.\" display contained syn match kickAssFunctions "\.\" display contained syn match kickAssFunctions "\" display contained syn match kickAssFunctions "\" display contained syn match kickAssFunctions "\" display contained syn match kickAssFunctions "\" display contained " Math syn keyword kickAssConstants PI E syn match kickAssFunName "\" contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained " List syn match kickAssFunctions "\" display contained " get syn match kickAssFunctions "\.\" display contained syn match kickAssFunctions "\.\" display contained syn match kickAssFunctions "\.\" display contained syn match kickAssFunctions "\.\" display contained syn match kickAssFunctions "\.\" display contained " Dictionaries (hash tables) syn keyword kickAssFunctions Hashtable contained " get syn match kickAssFunctions "\.\" display contained syn match kickAssFunctions "\.\" display contained syn match kickAssFunctions "\.\" display contained " Vector/matrix syn match kickAssFunctions /\(/he=e-1 " get syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\" display contained syn match kickAssFunName "\<\X\>" display contained syn region kickAssFunctionsCall start="[a-z0-9_]\." end="(" contains=kickAssFunName if !exists("did_kickasm_syntax_inits") let did_kickasm_syntax_inits = 1 hi def link kickAssDirectives Special hi def link asm6510Illegal Debug hi def link asm6502Mnemonics Type hi def link asmDtvMnemonics Type hi def link asm6502Index None hi def link asm6502Jumps PreCondit hi def link asmString String hi def link asmSString String hi def link asmComment Comment hi def link asmLineComment Comment hi def link asmMacroCall Function hi def link asmLabel Label hi def link asmTodo Todo hi def link asmDefName Function hi def link kickAssFunctions Function hi def link kickAssFunName Function hi def link kickAssColors Constant hi def link kickAssConstants Constant hi def link asmImmediate None hi def link hexNumber None hi def link binNumber None hi def link decNumber None endif let b:current_syntax = "kickasm"