Mercurial > vim
view runtime/syntax/chordpro.vim @ 25057:ffc3e1164652 v8.2.3065
patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Commit: https://github.com/vim/vim/commit/577dc93da9ec78684576bff71328d40f24bd6dd8
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jun 27 15:35:40 2021 +0200
patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Problem: Vim9: error when sourcing script twice and reusing a function
name.
Solution: Check if the function is dead. (closes #8463)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 27 Jun 2021 15:45:03 +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