mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-11 13:03:50 -05:00
63 lines
2.1 KiB
VimL
63 lines
2.1 KiB
VimL
let s:base = expand("<sfile>:h:h")
|
|
let Filter = { _, v -> stridx(v, s:base) == -1 && stridx(v, $VIMRUNTIME) == -1 && v !~ "after" }
|
|
let files = filter(globpath(&rtp, 'syntax/abc.vim', 1, 1), Filter)
|
|
if len(files) > 0
|
|
exec 'source ' . files[0]
|
|
finish
|
|
endif
|
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'abc') == -1
|
|
|
|
" Vim syntax file
|
|
" Language: abc music notation language
|
|
" Maintainer: James Allwright <J.R.Allwright@westminster.ac.uk>
|
|
" URL: http://perun.hscs.wmin.ac.uk/~jra/vim/syntax/abc.vim
|
|
" Last Change: 27th April 2001
|
|
|
|
" quit when a syntax file was already loaded
|
|
if exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
" tags
|
|
syn region abcGuitarChord start=+"[A-G]+ end=+"+ contained
|
|
syn match abcNote "z[1-9]*[0-9]*" contained
|
|
syn match abcNote "z[1-9]*[0-9]*/[248]\=" contained
|
|
syn match abcNote "[=_\^]\{,2}[A-G],*[1-9]*[0-9]*" contained
|
|
syn match abcNote "[=_\^]\{,2}[A-G],*[1-9]*[0-9]*/[248]\=" contained
|
|
syn match abcNote "[=_\^]\{,2}[a-g]'*[1-9]*[0-9]*" contained
|
|
syn match abcNote "[=_\^]\{,2}[a-g]'*[1-9]*[0-9]*/[248]\=" contained
|
|
syn match abcBar "|" contained
|
|
syn match abcBar "[:|][:|]" contained
|
|
syn match abcBar ":|2" contained
|
|
syn match abcBar "|1" contained
|
|
syn match abcBar "\[[12]" contained
|
|
syn match abcTuple "([1-9]\+:\=[0-9]*:\=[0-9]*" contained
|
|
syn match abcBroken "<\|<<\|<<<\|>\|>>\|>>>" contained
|
|
syn match abcTie "-"
|
|
syn match abcHeadField "^[A-EGHIK-TVWXZ]:.*$" contained
|
|
syn match abcBodyField "^[KLMPQWVw]:.*$" contained
|
|
syn region abcHeader start="^X:" end="^K:.*$" contained contains=abcHeadField,abcComment keepend
|
|
syn region abcTune start="^X:" end="^ *$" contains=abcHeader,abcComment,abcBar,abcNote,abcBodyField,abcGuitarChord,abcTuple,abcBroken,abcTie
|
|
syn match abcComment "%.*$"
|
|
|
|
|
|
" Define the default highlighting.
|
|
" Only when an item doesn't have highlighting yet
|
|
|
|
hi def link abcComment Comment
|
|
hi def link abcHeadField Type
|
|
hi def link abcBodyField Special
|
|
hi def link abcBar Statement
|
|
hi def link abcTuple Statement
|
|
hi def link abcBroken Statement
|
|
hi def link abcTie Statement
|
|
hi def link abcGuitarChord Identifier
|
|
hi def link abcNote Constant
|
|
|
|
|
|
let b:current_syntax = "abc"
|
|
|
|
" vim: ts=4
|
|
|
|
endif
|