updated for version 7.0e05
This commit is contained in:
67
runtime/syntax/chordpro.vim
Normal file
67
runtime/syntax/chordpro.vim
Normal file
@ -0,0 +1,67 @@
|
||||
" Vim syntax file
|
||||
" Language: ChordPro (v. 3.6.2)
|
||||
" Maintainer: Niels Bo Andersen <niels@niboan.dk>
|
||||
" Last Change: 2006 Apr 20
|
||||
" Remark: Requires VIM version 6.00 or greater
|
||||
|
||||
" Quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal iskeyword+=-
|
||||
|
||||
syn case ignore
|
||||
|
||||
syn keyword chordproDirective contained
|
||||
\ start_of_chorus soc end_of_chorus eoc new_song ns no_grid ng grid g
|
||||
\ new_page np new_physical_page npp start_of_tab sot end_of_tab eot
|
||||
\ column_break colb
|
||||
|
||||
syn keyword chordproDirWithOpt contained
|
||||
\ comment c comment_italic ci comment_box cb title t subtitle st define
|
||||
\ textfont textsize chordfont chordsize columns col
|
||||
|
||||
syn keyword chordproDefineKeyword contained base-fret frets
|
||||
|
||||
syn match chordproDirMatch /{\w*}/ contains=chordproDirective contained transparent
|
||||
syn match chordproDirOptMatch /{\w*:/ contains=chordproDirWithOpt contained transparent
|
||||
|
||||
" Workaround for a bug in VIM 6, which causes incorrect coloring of the first {
|
||||
if version < 700
|
||||
syn region chordproOptions start=/{\w*:/ end=/}/ contains=chordproDirOptMatch contained transparent
|
||||
syn region chordproOptions start=/{define:/ end=/}/ contains=chordproDirOptMatch, chordproDefineKeyword contained transparent
|
||||
else
|
||||
syn region chordproOptions start=/{\w*:/hs=e+1 end=/}/he=s-1 contains=chordproDirOptMatch contained
|
||||
syn region chordproOptions start=/{define:/hs=e+1 end=/}/he=s-1 contains=chordproDirOptMatch, chordproDefineKeyword contained
|
||||
endif
|
||||
|
||||
syn region chordproTag start=/{/ end=/}/ contains=chordproDirMatch,chordproOptions oneline
|
||||
|
||||
syn region chordproChord matchgroup=chordproBracket start=/\[/ end=/]/ oneline
|
||||
|
||||
syn region chordproTab start=/{start_of_tab}\|{sot}/hs=e+1 end=/{end_of_tab}\|{eot}/he=s-1 contains=chordproTag,chordproComment keepend
|
||||
|
||||
syn region chordproChorus start=/{start_of_chorus}\|{soc}/hs=e+1 end=/{end_of_chorus}\|{eoc}/he=s-1 contains=chordproTag,chordproChord,chordproComment keepend
|
||||
|
||||
syn match chordproComment /^#.*/
|
||||
|
||||
" Define the default highlighting.
|
||||
hi def link chordproDirective Statement
|
||||
hi def link chordproDirWithOpt Statement
|
||||
hi def link chordproOptions Special
|
||||
hi def link chordproChord Type
|
||||
hi def link chordproTag Constant
|
||||
hi def link chordproTab PreProc
|
||||
hi def link chordproComment Comment
|
||||
hi def link chordproBracket Constant
|
||||
hi def link chordproDefineKeyword Type
|
||||
hi def chordproChorus term=bold cterm=bold gui=bold
|
||||
|
||||
let b:current_syntax = "chordpro"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
Reference in New Issue
Block a user