Mercurial > vim
view runtime/syntax/chordpro.vim @ 26841:48d6f187e9c0 v8.2.3949
patch 8.2.3949: using freed memory with /%V
Commit: https://github.com/vim/vim/commit/4c13e5e6763c6eb36a343a2b8235ea227202e952
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Dec 30 14:49:43 2021 +0000
patch 8.2.3949: using freed memory with /\%V
Problem: Using freed memory with /\%V.
Solution: Get the line again after getvvcol().
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 30 Dec 2021 16:00:05 +0100 |
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