mirror of
https://github.com/gryf/kickass-syntax-vim.git
synced 2026-04-25 09:21:24 +02:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 55efc1d2c4 | |||
| 9d32c3b942 |
+2
-2
@@ -22,7 +22,7 @@ You can also add to your vimrc file autocommand:
|
|||||||
|
|
||||||
autocmd BufRead *.asm set filetype=kickass
|
autocmd BufRead *.asm set filetype=kickass
|
||||||
|
|
||||||
From now on, all files with extension 'asm' will have brand new kickass
|
From now on, all files with extension *asm* will have brand new kickass
|
||||||
syntax.
|
syntax.
|
||||||
|
|
||||||
Enjoy.
|
Enjoy.
|
||||||
@@ -32,4 +32,4 @@ Enjoy.
|
|||||||
.. _Vundle: https://github.com/gmarik/Vundle.vim
|
.. _Vundle: https://github.com/gmarik/Vundle.vim
|
||||||
.. _NeoBundle: https://github.com/Shougo/neobundle.vim
|
.. _NeoBundle: https://github.com/Shougo/neobundle.vim
|
||||||
.. _BitBucket: https://bitbucket.org/gryf/kickass-syntax-vim
|
.. _BitBucket: https://bitbucket.org/gryf/kickass-syntax-vim
|
||||||
.. _GitHub: https://bitbucket.org/gryf/kickass-syntax-vim
|
.. _GitHub: https://github.com/gryf/kickass-syntax-vim
|
||||||
|
|||||||
+72
-63
@@ -1,12 +1,16 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: Assembler, KickAssembler
|
" Language: Assembler, KickAssembler
|
||||||
" Maintainer: Roman 'gryf' Dobosz <gryf_esm@o2.pl>
|
" Maintainer: Roman 'gryf' Dobosz <gryf_esm@o2.pl>
|
||||||
" Last Change: 2012-07-09
|
" Last Change: 2014-08-12
|
||||||
" Version: 1.1
|
" Version: 1.3
|
||||||
"
|
"
|
||||||
" Changelog:
|
" Changelog:
|
||||||
" 1.1 Since in assembly languages 'everything is a label' there pretty hard
|
" 1.3 Updated to KickAssembler 3.36 changes (added addAll and uget* methods)
|
||||||
" to distinguish labels from variables and structures, so I decided to
|
"
|
||||||
|
" 1.2 Updated to KickAssembler 3.25 changes
|
||||||
|
"
|
||||||
|
" 1.1 Since in assembly languages 'everything is a label' there pretty hard
|
||||||
|
" to distinguish labels from variables and structures, so I decided to
|
||||||
" remove highlighting labels at all. Instead numbers are highlighted, so that
|
" remove highlighting labels at all. Instead numbers are highlighted, so that
|
||||||
" labels and defined variables are easily spotted in the code.
|
" labels and defined variables are easily spotted in the code.
|
||||||
"
|
"
|
||||||
@@ -34,68 +38,66 @@ syn match kickAssMacroCall ":[a-z_][a-z0-9_]*"
|
|||||||
syn case match
|
syn case match
|
||||||
|
|
||||||
" 6502 mnemonics
|
" 6502 mnemonics
|
||||||
syn keyword kickAssMnemonic brk clc cld cli clv dex dey nextgroup=kickAssLabels
|
syn keyword kickAssMnemonic brk clc cld cli clv dex dey inx iny nop pha php
|
||||||
syn keyword kickAssMnemonic inx iny nop pha php pla plp nextgroup=kickAssLabels
|
syn keyword kickAssMnemonic pla plp sec sed sei tax tay tsx txa txs tya
|
||||||
syn keyword kickAssMnemonic sec sed sei tax tay tsx txa nextgroup=kickAssLabels
|
syn keyword kickAssJump rti rts
|
||||||
syn keyword kickAssMnemonic txs tya nextgroup=kickAssLabels
|
|
||||||
syn keyword kickAssJump rti rts nextgroup=kickAssLabels
|
|
||||||
|
|
||||||
syn match kickAssMnemonic "\<adc\(\.\(imm\?\|zp\?x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<adc\(\.\(imm\?\|zp\?x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<ahx\(\.\(izp\?y\|a\(bs\)\?y\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<ahx\(\.\(izp\?y\|a\(bs\)\?y\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<alr\(\.imm\?\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<alr\(\.imm\?\)\?\>"
|
||||||
syn match kickAssMnemonic "\<anc\(\.imm\?\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<anc\(\.imm\?\)\?\>"
|
||||||
syn match kickAssMnemonic "\<anc2\(\.imm\?\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<anc2\(\.imm\?\)\?\>"
|
||||||
syn match kickAssMnemonic "\<and\(\.\(imm\?\|zp\?x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<and\(\.\(imm\?\|zp\?x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<arr\(\.imm\?\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<arr\(\.imm\?\)\?\>"
|
||||||
syn match kickAssMnemonic "\<asl\(\.\(zp\?x\?\|a\(bs\)\?x\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<asl\(\.\(zp\?x\?\|a\(bs\)\?x\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<axs\(\.imm\?\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<axs\(\.imm\?\)\?\>"
|
||||||
syn match kickAssJump "\<bcc\(\.r\(el\)\?\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssJump "\<bcc\(\.r\(el\)\?\)\?\>"
|
||||||
syn match kickAssJump "\<bcs\(\.r\(el\)\?\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssJump "\<bcs\(\.r\(el\)\?\)\?\>"
|
||||||
syn match kickAssJump "\<beq\(\.r\(el\)\?\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssJump "\<beq\(\.r\(el\)\?\)\?\>"
|
||||||
syn match kickAssMnemonic "\<bit\(\.\(zp\?x\?\|a\(bs\)\?x\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<bit\(\.\(zp\?\|a\(bs\)\?\)\)\?\>"
|
||||||
syn match kickAssJump "\<bmi\(\.r\(el\)\?\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssJump "\<bmi\(\.r\(el\)\?\)\?\>"
|
||||||
syn match kickAssJump "\<bne\(\.r\(el\)\?\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssJump "\<bne\(\.r\(el\)\?\)\?\>"
|
||||||
syn match kickAssJump "\<bpl\(\.r\(el\)\?\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssJump "\<bpl\(\.r\(el\)\?\)\?\>"
|
||||||
syn match kickAssJump "\<bvc\(\.r\(el\)\?\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssJump "\<bvc\(\.r\(el\)\?\)\?\>"
|
||||||
syn match kickAssJump "\<bvs\(\.r\(el\)\?\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssJump "\<bvs\(\.r\(el\)\?\)\?\>"
|
||||||
syn match kickAssMnemonic "\<cmp\(\.\(imm\?\|zp\?x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<cmp\(\.\(imm\?\|zp\?x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<cpx\(\.\(imm\?\|zp\?\|a\(bs\)\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<cpx\(\.\(imm\?\|zp\?\|a\(bs\)\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<cpy\(\.\(imm\?\|zp\?\|a\(bs\)\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<cpy\(\.\(imm\?\|zp\?\|a\(bs\)\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<dcp\(\.\(zp\?\x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<dcp\(\.\(zp\?\x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<dec\(\.\(zp\?x\?\|a\(bs\)\?x\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<dec\(\.\(zp\?x\?\|a\(bs\)\?x\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<eor\(\.\(imm\?\|zp\?x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<eor\(\.\(imm\?\|zp\?x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<inc\(\.\(zp\?x\?\|a\(bs\)\?x\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<inc\(\.\(zp\?x\?\|a\(bs\)\?x\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<isc\(\.\(zp\?\x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<isc\(\.\(zp\?\x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>"
|
||||||
syn match kickAssJump "\<jmp\(\.\(a\(bs\)\?\|i\(nd\)\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssJump "\<jmp\(\.\(a\(bs\)\?\|i\(nd\)\?\)\)\?\>"
|
||||||
syn match kickAssJump "\<jsr\(\.a\(bs\)\?\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssJump "\<jsr\(\.a\(bs\)\?\)\?\>"
|
||||||
syn match kickAssMnemonic "\<las\(\.a\(bs\)\?y\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<las\(\.a\(bs\)\?y\)\?\>"
|
||||||
syn match kickAssMnemonic "\<lax\(\.\(imm\?\|zp\?y\?\|izp\?[xy]\|a\(bs\)\?y\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<lax\(\.\(imm\?\|zp\?y\?\|izp\?[xy]\|a\(bs\)\?y\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<lda\(\.\(imm\?\|zp\?x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<lda\(\.\(imm\?\|zp\?x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<ldx\(\.\(imm\?\|zp\?y\?\|a\(bs\)\?y\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<ldx\(\.\(imm\?\|zp\?y\?\|a\(bs\)\?y\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<ldy\(\.\(imm\?\|zp\?x\?\|a\(bs\)\?x\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<ldy\(\.\(imm\?\|zp\?x\?\|a\(bs\)\?x\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<lsr\(\.\(zp\?x\?\|a\(bs\)\?x\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<lsr\(\.\(zp\?x\?\|a\(bs\)\?x\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<ora\(\.\(imm\?\|zp\?x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<ora\(\.\(imm\?\|zp\?x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<rla\(\.\(zp\?\x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<rla\(\.\(zp\?\x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<rol\(\.\(zp\?x\?\|a\(bs\)\?x\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<rol\(\.\(zp\?x\?\|a\(bs\)\?x\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<ror\(\.\(zp\?x\?\|a\(bs\)\?x\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<ror\(\.\(zp\?x\?\|a\(bs\)\?x\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<rra\(\.\(zp\?\x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<rra\(\.\(zp\?\x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<sax\(\.\(zp\?[xy]\?\|a\(bs\)\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<sax\(\.\(zp\?[xy]\?\|a\(bs\)\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<sbc\(\.\(imm\?\|zp\?x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<sbc\(\.\(imm\?\|zp\?x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<sbc2\(\.imm\?\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<sbc2\(\.imm\?\)\?\>"
|
||||||
syn match kickAssMnemonic "\<shx\(\.a\(bs\)\?y\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<shx\(\.a\(bs\)\?y\)\?\>"
|
||||||
syn match kickAssMnemonic "\<shy\(\.a\(bs\)\?x\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<shy\(\.a\(bs\)\?x\)\?\>"
|
||||||
syn match kickAssMnemonic "\<slo\(\.\(zp\?\x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<slo\(\.\(zp\?\x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<sre\(\.\(zp\?\x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<sre\(\.\(zp\?\x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<sta\(\.\(zp\?\x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<sta\(\.\(zp\?\x\?\|izp\?[xy]\|a\(bs\)\?[xy]\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<stx\(\.\(zp\?y\?\|a\(bs\)\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<stx\(\.\(zp\?y\?\|a\(bs\)\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<sty\(\.\(zp\?x\?\|a\(bs\)\?\)\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<sty\(\.\(zp\?x\?\|a\(bs\)\?\)\)\?\>"
|
||||||
syn match kickAssMnemonic "\<tas\(\.a\(bs\)\?y\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<tas\(\.a\(bs\)\?y\)\?\>"
|
||||||
syn match kickAssMnemonic "\<xaa\(\.imm\?\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<xaa\(\.imm\?\)\?\>"
|
||||||
|
|
||||||
" DTV mnemonics
|
" DTV mnemonics
|
||||||
syn match kickAssJump "\<bra\(\.r\(el\)\?\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssJump "\<bra\(\.r\(el\)\?\)\?\>"
|
||||||
syn match kickAssMnemonic "\<sac\(\.imm\?\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<sac\(\.imm\?\)\?\>"
|
||||||
syn match kickAssMnemonic "\<sir\(\.imm\?\)\?\>" nextgroup=kickAssLabels
|
syn match kickAssMnemonic "\<sir\(\.imm\?\)\?\>"
|
||||||
|
|
||||||
" indexes
|
" indexes
|
||||||
syn match kickAssIndex ",\s*[xy]"
|
syn match kickAssIndex ",\s*[xy]"
|
||||||
@@ -130,6 +132,10 @@ syn match kickAssDirective /\.\<text\>/
|
|||||||
syn match kickAssDirective /\.\<fill\>/
|
syn match kickAssDirective /\.\<fill\>/
|
||||||
syn match kickAssDirective /\.\<pseudopc\>/
|
syn match kickAssDirective /\.\<pseudopc\>/
|
||||||
|
|
||||||
|
" modifiers
|
||||||
|
syn match kickAssDirective /\.\<modify\>/
|
||||||
|
syn match kickAssDirective /\.\<filemodify\>/
|
||||||
|
|
||||||
" import directive
|
" import directive
|
||||||
syn match kickAssDirective "\.\<importonce\>"
|
syn match kickAssDirective "\.\<importonce\>"
|
||||||
syn match kickAssDirective "\.\<import\>" nextgroup=kickAssImportType skipwhite
|
syn match kickAssDirective "\.\<import\>" nextgroup=kickAssImportType skipwhite
|
||||||
@@ -236,6 +242,7 @@ syn match kickAssMethod "\.\<remove\>("he=e-1,hs=s+1
|
|||||||
syn match kickAssMethod "\.\<shuffle\>("he=e-1,hs=s+1
|
syn match kickAssMethod "\.\<shuffle\>("he=e-1,hs=s+1
|
||||||
syn match kickAssMethod "\.\<reverse\>("he=e-1,hs=s+1
|
syn match kickAssMethod "\.\<reverse\>("he=e-1,hs=s+1
|
||||||
syn match kickAssMethod "\.\<sort\>("he=e-1,hs=s+1
|
syn match kickAssMethod "\.\<sort\>("he=e-1,hs=s+1
|
||||||
|
syn match kickAssMethod "\.\<addAll\>("he=e-1,hs=s+1
|
||||||
" READY.
|
" READY.
|
||||||
|
|
||||||
" Hash - already defined names: get, remove
|
" Hash - already defined names: get, remove
|
||||||
@@ -288,6 +295,8 @@ syn keyword kickAssConstant BD_C64FILE BF_BITMAP_SINGLECOLOR BF_KOALA BF_FLI
|
|||||||
syn match kickAssFunction "\<LoadBinary\>("he=e-1
|
syn match kickAssFunction "\<LoadBinary\>("he=e-1
|
||||||
syn match kickAssMethod "\.\<getSize\>("he=e-1,hs=s+1
|
syn match kickAssMethod "\.\<getSize\>("he=e-1,hs=s+1
|
||||||
syn match kickAssFunction "\<LoadBinary\>("he=e-1
|
syn match kickAssFunction "\<LoadBinary\>("he=e-1
|
||||||
|
syn match kickAssMethod "\.\<uget[a-zA-Z0-9]*\>("he=e-1,hs=s+1
|
||||||
|
|
||||||
|
|
||||||
" Graphics files
|
" Graphics files
|
||||||
syn match kickAssFunction "\<LoadPicture\>("he=e-1
|
syn match kickAssFunction "\<LoadPicture\>("he=e-1
|
||||||
|
|||||||
Reference in New Issue
Block a user