runtime(pandoc): sync syntax script with upstream Commit: https://github.com/vim/vim/commit/03125277e9ea2e263ea970436efdd433d7475e2a Author: Jake Zimmerman <zimmerman.j...@gmail.com> Date: Fri Jun 27 18:38:34 2025 +0200
runtime(pandoc): sync syntax script with upstream closes: https://github.com/vim/vim/issues/17598 Signed-off-by: Jake Zimmerman <zimmerman.j...@gmail.com> Signed-off-by: Christian Brabandt <c...@256bit.org> diff --git a/runtime/syntax/pandoc.vim b/runtime/syntax/pandoc.vim index 7928cc665..fdbdde096 100644 --- a/runtime/syntax/pandoc.vim +++ b/runtime/syntax/pandoc.vim @@ -1,18 +1,23 @@ scriptencoding utf-8 -" +" Vim syntax file " Language: Pandoc (superset of Markdown) " Maintainer: Felipe Morales <hel.sh...@gmail.com> " Maintainer: Caleb Maclennan <ca...@alerque.com> -" Upstream: https://github.com/vim-pandoc/vim-pandoc-syntax -" +" Upstream: https://github.com/vim-pandoc/vim-pandoc-syntax/tree/ea3fc415784bdcbae7f0093b80070ca4ff9e44c8 " Contributor: David Sanson <dsan...@gmail.com> " Jorge Israel Pe帽a <jorge.israe...@gmail.com> +" Christian Brabandt @chrisbra " Original Author: Jeremy Schultz <taoz...@gmail.com> " Version: 5.0 " Last Change: 2024 Apr 08 +" 2025 Jun 27 by Vim project: sync with upstream (#17598) + +if exists('b:current_syntax') + finish +endif -let s:cpo_save = &cpo -set cpo&vim +let s:cpo_save = &cpoptions +set cpoptions&vim " Configuration: {{{1 " @@ -155,10 +160,10 @@ endif " Functions: {{{1 " EnableEmbedsforCodeblocksWithLang {{{2 function! EnableEmbedsforCodeblocksWithLang(entry) - " prevent embedded language syntaxes from changing 'foldmethod' + " prevent embedded language syntaxes from changing 'foldmethod' if has('folding') let s:foldmethod = &l:foldmethod - let s:foldtext = &l:foldtext + let s:foldtext = &l:foldtext endif try @@ -169,7 +174,7 @@ function! EnableEmbedsforCodeblocksWithLang(entry) " We might have just turned off spellchecking by including the file, " so we turn it back on here. exe 'syntax spell toplevel' - exe 'syn region pandocDelimitedCodeBlock_' . s:langname . ' start=/\(\_^\( \+\| \)\=\(`\{3,}`*\|\~\{3,}\~*\)\s*\%({[^.]*\.\)\=' . s:langname . '\>.* \)\@<=\_^/' . + exe 'syn region pandocDelimitedCodeBlock_' . s:langname . ' start=/\(\_^\( \+\| \)\=\(`\{3,}`*\|\~\{3,}\~*\)\s*\%({[^.]*[.=]\)\=' . s:langname . '\>.* \)\@<=\_^/' . \' end=/\_$ \(\( \+\| \)\=\(`\{3,}`*\|\~\{3,}\~*\)\_$ \_$\)\@=/ contained containedin=pandocDelimitedCodeBlock' . \' contains=@' . toupper(s:langname) exe 'syn region pandocDelimitedCodeBlockinBlockQuote_' . s:langname . ' start=/>\s\(`\{3,}`*\|\~\{3,}\~*\)\s*\%({[^.]*\.\)\=' . s:langname . '\>/' . @@ -228,7 +233,7 @@ syntax spell toplevel " Embeds: {{{2 -" prevent embedded language syntaxes from changing 'foldmethod' +" prevent embedded language syntaxes from changing 'foldmethod' if has('folding') let s:foldmethod = &l:foldmethod endif @@ -295,7 +300,7 @@ syn region pandocCodeBlockInsideIndent start=/\(\(\d\| \|*\).* \)\@<!\(^\(\s " Links: {{{2 " Base: {{{3 -syn region pandocReferenceLabel matchgroup=pandocOperator start=/!\{,1}\\@<!\^\@<!\[/ skip=/\(\\@<!\]\]\@=\|`.*\\@<!].*`\)/ end=/\\@<!\]/ keepend display +syn region pandocReferenceLabel matchgroup=pandocOperator start=/!\{,1}\\@<!\^\@<!\[/ skip=/\(\\@<!\]\]\@=\|`[^`]*`\)/ end=/\\@<!\]/ keepend display if g:pandoc#syntax#conceal#urls == 1 syn region pandocReferenceURL matchgroup=pandocOperator start=/\]\@1<=(/ end=/)/ keepend conceal else @@ -334,8 +339,8 @@ syn match pandocCiteLocator /[\[\]]/ contained containedin=pandocPCite,pandocICi " Text Styles: {{{2 " Emphasis: {{{3 -call s:WithConceal('block', 'syn region pandocEmphasis matchgroup=pandocOperator start=/\\@1<!\(\_^\|\s\|[[:punct:]]\)\@<=\*\S\@=/ skip=/\(\*\*\|__\)/ end=/\*\([[:punct:]]\|\s\|\_$\)\@=/ contains=@Spell,pandocNoFormattedInEmphasis,pandocLatexInlineMath,pandocAmpersandEscape', 'concealends') -call s:WithConceal('block', 'syn region pandocEmphasis matchgroup=pandocOperator start=/\\@1<!\(\_^\|\s\|[[:punct:]]\)\@<=_\S\@=/ skip=/\(\*\*\|__\)/ end=/\S\@1<=_\([[:punct:]]\|\s\|\_$\)\@=/ contains=@Spell,pandocNoFormattedInEmphasis,pandocLatexInlineMath,pandocAmpersandEscape', 'concealends') +call s:WithConceal('block', 'syn region pandocEmphasis matchgroup=pandocOperator start=/\\@1<!\(\_^\|\s\|[[:punct:]]\)\@<=\*\S\@=/ skip=/\(\*\*\|__\)/ end=/\*\([[:punct:]]\| \|\s\|\_$\)\@=/ contains=@Spell,pandocNoFormattedInEmphasis,pandocLatexInlineMath,pandocAmpersandEscape', 'concealends') +call s:WithConceal('block', 'syn region pandocEmphasis matchgroup=pandocOperator start=/\\@1<!\(\_^\|\s\|[[:punct:]]\)\@<=_\S\@=/ skip=/\(\*\*\|__\)/ end=/\S\@1<=_\([[:punct:]]\| \|\s\|\_$\)\@=/ contains=@Spell,pandocNoFormattedInEmphasis,pandocLatexInlineMath,pandocAmpersandEscape', 'concealends') " }}}3 " Strong: {{{3 @@ -487,7 +492,7 @@ syn match pandocUListItem /^>\=\s*[*+-]\s\+-\@!.*$/ nextgroup=pandocUListItem,pa call s:WithConceal('list', 'syn match pandocUListItemBullet /^>\=\s*\zs[*+-]/ contained containedin=pandocUListItem', 'conceal cchar='.s:cchars['li']) " Ordered lists -syn match pandocListItem /^\s*(\?\(\d\+\|\l\|\#\|@\)[.)].*$/ nextgroup=pandocListItem,pandocLaTeXMathBlock,pandocLaTeXInlineMath,pandocEscapedDollar,pandocDelimitedCodeBlock,pandocListItemContinuation contains=@Spell,pandocEmphasis,pandocStrong,pandocNoFormatted,pandocStrikeout,pandocSubscript,pandocSuperscript,pandocStrongEmphasis,pandocStrongEmphasis,pandocPCite,pandocICite,pandocCiteKey,pandocReferenceLabel,pandocLaTeXCommand,pandocLaTeXMathBlock,pandocLaTeXInlineMath,pandocEscapedDollar,pandocAutomaticLink,pandocFootnoteDef,pandocFootnoteBlock,pandocFootnoteID,pandocAmpersandEscape skipempty display +syn match pandocListItem /^\s*(\?\(\d\+\|\l\|\#\|@\)[.)].*$/ nextgroup=pandocListItem,pandocLaTeXMathBlock,pandocLaTeXInlineMath,pandocEscapedDollar,pandocDelimitedCodeBlock,pandocListItemContinuation contains=@Spell,pandocEmphasis,pandocStrong,pandocReferenceURL,pandocNoFormatted,pandocStrikeout,pandocSubscript,pandocSuperscript,pandocStrongEmphasis,pandocStrongEmphasis,pandocPCite,pandocICite,pandocCiteKey,pandocReferenceLabel,pandocLaTeXCommand,pandocLaTeXMathBlock,pandocLaTeXInlineMath,pandocEscapedDollar,pandocAutomaticLink,pandocFootnoteDef,pandocFootnoteBlock,pandocFootnoteID,pandocAmpersandEscape skipempty display " support for roman numerals up to 'c' if g:pandoc#syntax#roman_lists != 0 @@ -501,8 +506,8 @@ syn match pandocListItemContinuation /^\s\+\([-+*]\s\+\|(\?.\+[).]\)\@<!\([[:upp " Definitions: {{{2 if g:pandoc#syntax#use_definition_lists == 1 - syn region pandocDefinitionBlock start=/^\%(\_^\s*\([`~]\) \{2,}\)\@!.* \(^\s* \)\=\s\{0,2}\([:~]\)\( \{2,} *\)\@!/ skip=/ \zs\s/ end=/ / contains=pandocDefinitionBlockMark,pandocDefinitionBlockTerm,pandocCodeBlockInsideIndent,pandocEmphasis,pandocStrong,pandocStrongEmphasis,pandocNoFormatted,pandocStrikeout,pandocSubscript,pandocSuperscript,pandocFootnoteID,pandocReferenceURL,pandocReferenceLabel,pandocLaTeXMathBlock,pandocLaTeXInlineMath,pandocEscapedDollar,pandocAutomaticLink,pandocEmDash,pandocEnDash,pandocFootnoteDef,pandocFootnoteBlock,pandocFootnoteID - syn match pandocDefinitionBlockTerm /^.* \(^\s* \)\=\(\s*[:~]\)\@=/ contained contains=pandocNoFormatted,pandocEmphasis,pandocStrong,pandocLaTeXInlineMath,pandocEscapedDollar,pandocFootnoteDef,pandocFootnoteBlock,pandocFootnoteID nextgroup=pandocDefinitionBlockMark + syn region pandocDefinitionBlock start=/^\%(\_^\s*\([`~]\) \{2,}\)\@!.* \(^\s* \)\=\s\{0,2}\([:~]\)\( \{2,} *\)\@!/ skip=/ \zs\s/ end=/ / contains=@Spell,pandocDefinitionBlockMark,pandocDefinitionBlockTerm,pandocCodeBlockInsideIndent,pandocEmphasis,pandocStrong,pandocStrongEmphasis,pandocNoFormatted,pandocStrikeout,pandocSubscript,pandocSuperscript,pandocFootnoteID,pandocReferenceURL,pandocReferenceLabel,pandocLaTeXMathBlock,pandocLaTeXInlineMath,pandocEscapedDollar,pandocAutomaticLink,pandocEmDash,pandocEnDash,pandocFootnoteDef,pandocFootnoteBlock,pandocFootnoteID + syn match pandocDefinitionBlockTerm /^.* \(^\s* \)\=\(\s*[:~]\)\@=/ contained contains=@Spell,pandocNoFormatted,pandocEmphasis,pandocStrong,pandocLaTeXInlineMath,pandocEscapedDollar,pandocFootnoteDef,pandocFootnoteBlock,pandocFootnoteID nextgroup=pandocDefinitionBlockMark call s:WithConceal('definition', 'syn match pandocDefinitionBlockMark /^\s*[:~]/ contained', 'conceal cchar='.s:cchars['definition']) endif " }}}2 @@ -551,7 +556,7 @@ endif " }}}3 " &-escaped Special Characters: {{{3 -syn match pandocAmpersandEscape / \&(#\d+|#x\x+|[[:alnum:]]+)\;/ contains=NoSpell +syn match pandocAmpersandEscape / \&(#\d+|#x\x+|[[:alnum:]]+)\;/ contains=@NoSpell " }}}3 " YAML: {{{2 @@ -703,7 +708,7 @@ let b:current_syntax = 'pandoc' syntax sync clear syntax sync minlines=1000 -let &cpo = s:cpo_save +let &cpoptions = s:cpo_save unlet s:cpo_save " vim: set fdm=marker foldlevel=0: -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/vim_dev/E1uVCCL-006kdp-Ee%40256bit.org.