Mercurial > vim
view runtime/syntax/chordpro.vim @ 24518:cf334a353c30 v8.2.2799
patch 8.2.2799: Vim9: type casts don't fully work at the script level
Commit: https://github.com/vim/vim/commit/459fbdbf9216bc7b4721fc192e08b35039036caa
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Apr 21 17:57:26 2021 +0200
patch 8.2.2799: Vim9: type casts don't fully work at the script level
Problem: Vim9: type casts don't fully work at the script level.
Solution: Implement the missing piece.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 21 Apr 2021 18:00:05 +0200 |
parents | 8cd729851562 |
children | 4d76b3e07c07 |
line wrap: on
line source
" Vim syntax file " Language: ChordPro (v. 3.6.2) " Maintainer: Niels Bo Andersen <niels@niboan.dk> " Last Change: 2006 Apr 30 " 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