1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: abc music notation language 3071d4279SBram Moolenaar" Maintainer: James Allwright <[email protected]> 4071d4279SBram Moolenaar" URL: http://perun.hscs.wmin.ac.uk/~jra/vim/syntax/abc.vim 5071d4279SBram Moolenaar" Last Change: 27th April 2001 6071d4279SBram Moolenaar 789bcfda6SBram Moolenaar" quit when a syntax file was already loaded 889bcfda6SBram Moolenaarif exists("b:current_syntax") 9071d4279SBram Moolenaar finish 10071d4279SBram Moolenaarendif 11071d4279SBram Moolenaar 12071d4279SBram Moolenaar" tags 13071d4279SBram Moolenaarsyn region abcGuitarChord start=+"[A-G]+ end=+"+ contained 14071d4279SBram Moolenaarsyn match abcNote "z[1-9]*[0-9]*" contained 15071d4279SBram Moolenaarsyn match abcNote "z[1-9]*[0-9]*/[248]\=" contained 16071d4279SBram Moolenaarsyn match abcNote "[=_\^]\{,2}[A-G],*[1-9]*[0-9]*" contained 17071d4279SBram Moolenaarsyn match abcNote "[=_\^]\{,2}[A-G],*[1-9]*[0-9]*/[248]\=" contained 18071d4279SBram Moolenaarsyn match abcNote "[=_\^]\{,2}[a-g]'*[1-9]*[0-9]*" contained 19071d4279SBram Moolenaarsyn match abcNote "[=_\^]\{,2}[a-g]'*[1-9]*[0-9]*/[248]\=" contained 20071d4279SBram Moolenaarsyn match abcBar "|" contained 21071d4279SBram Moolenaarsyn match abcBar "[:|][:|]" contained 22071d4279SBram Moolenaarsyn match abcBar ":|2" contained 23071d4279SBram Moolenaarsyn match abcBar "|1" contained 24071d4279SBram Moolenaarsyn match abcBar "\[[12]" contained 25071d4279SBram Moolenaarsyn match abcTuple "([1-9]\+:\=[0-9]*:\=[0-9]*" contained 26071d4279SBram Moolenaarsyn match abcBroken "<\|<<\|<<<\|>\|>>\|>>>" contained 27071d4279SBram Moolenaarsyn match abcTie "-" 28071d4279SBram Moolenaarsyn match abcHeadField "^[A-EGHIK-TVWXZ]:.*$" contained 29071d4279SBram Moolenaarsyn match abcBodyField "^[KLMPQWVw]:.*$" contained 30071d4279SBram Moolenaarsyn region abcHeader start="^X:" end="^K:.*$" contained contains=abcHeadField,abcComment keepend 31071d4279SBram Moolenaarsyn region abcTune start="^X:" end="^ *$" contains=abcHeader,abcComment,abcBar,abcNote,abcBodyField,abcGuitarChord,abcTuple,abcBroken,abcTie 32071d4279SBram Moolenaarsyn match abcComment "%.*$" 33071d4279SBram Moolenaar 34071d4279SBram Moolenaar 35071d4279SBram Moolenaar" Define the default highlighting. 3689bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet 37071d4279SBram Moolenaar 38*f37506f6SBram Moolenaarhi def link abcComment Comment 39*f37506f6SBram Moolenaarhi def link abcHeadField Type 40*f37506f6SBram Moolenaarhi def link abcBodyField Special 41*f37506f6SBram Moolenaarhi def link abcBar Statement 42*f37506f6SBram Moolenaarhi def link abcTuple Statement 43*f37506f6SBram Moolenaarhi def link abcBroken Statement 44*f37506f6SBram Moolenaarhi def link abcTie Statement 45*f37506f6SBram Moolenaarhi def link abcGuitarChord Identifier 46*f37506f6SBram Moolenaarhi def link abcNote Constant 47071d4279SBram Moolenaar 48071d4279SBram Moolenaar 49071d4279SBram Moolenaarlet b:current_syntax = "abc" 50071d4279SBram Moolenaar 51071d4279SBram Moolenaar" vim: ts=4 52