1" Vim syntax file 2" Language: abc music notation language 3" Maintainer: James Allwright <[email protected]> 4" URL: http://perun.hscs.wmin.ac.uk/~jra/vim/syntax/abc.vim 5" Last Change: 27th April 2001 6 7" quit when a syntax file was already loaded 8if exists("b:current_syntax") 9 finish 10endif 11 12" tags 13syn region abcGuitarChord start=+"[A-G]+ end=+"+ contained 14syn match abcNote "z[1-9]*[0-9]*" contained 15syn match abcNote "z[1-9]*[0-9]*/[248]\=" contained 16syn match abcNote "[=_\^]\{,2}[A-G],*[1-9]*[0-9]*" contained 17syn match abcNote "[=_\^]\{,2}[A-G],*[1-9]*[0-9]*/[248]\=" contained 18syn match abcNote "[=_\^]\{,2}[a-g]'*[1-9]*[0-9]*" contained 19syn match abcNote "[=_\^]\{,2}[a-g]'*[1-9]*[0-9]*/[248]\=" contained 20syn match abcBar "|" contained 21syn match abcBar "[:|][:|]" contained 22syn match abcBar ":|2" contained 23syn match abcBar "|1" contained 24syn match abcBar "\[[12]" contained 25syn match abcTuple "([1-9]\+:\=[0-9]*:\=[0-9]*" contained 26syn match abcBroken "<\|<<\|<<<\|>\|>>\|>>>" contained 27syn match abcTie "-" 28syn match abcHeadField "^[A-EGHIK-TVWXZ]:.*$" contained 29syn match abcBodyField "^[KLMPQWVw]:.*$" contained 30syn region abcHeader start="^X:" end="^K:.*$" contained contains=abcHeadField,abcComment keepend 31syn region abcTune start="^X:" end="^ *$" contains=abcHeader,abcComment,abcBar,abcNote,abcBodyField,abcGuitarChord,abcTuple,abcBroken,abcTie 32syn match abcComment "%.*$" 33 34 35" Define the default highlighting. 36" Only when an item doesn't have highlighting yet 37 38hi def link abcComment Comment 39hi def link abcHeadField Type 40hi def link abcBodyField Special 41hi def link abcBar Statement 42hi def link abcTuple Statement 43hi def link abcBroken Statement 44hi def link abcTie Statement 45hi def link abcGuitarChord Identifier 46hi def link abcNote Constant 47 48 49let b:current_syntax = "abc" 50 51" vim: ts=4 52