view runtime/syntax/chordpro.vim @ 24341:0e1b8b98f9f4 v8.2.2711

patch 8.2.2711: "gj" in a closed fold does not move out of the fold Commit: https://github.com/vim/vim/commit/3c49e74e18993915a779cafe4af3749b39fd3e2a Author: Bram Moolenaar <Bram@vim.org> Date: Sun Apr 4 21:26:04 2021 +0200 patch 8.2.2711: "gj" in a closed fold does not move out of the fold Problem: "gj" in a closed fold does not move out of the fold. (Marco Hinz) Solution: Add a check for being in a closed fold. (closes https://github.com/vim/vim/issues/8062)
author Bram Moolenaar <Bram@vim.org>
date Sun, 04 Apr 2021 21:30: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