xref: /vim-8.2.3635/runtime/syntax/abc.vim (revision f37506f6)
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