From 6a6ba5c567e0928668a3b2bc0774a82f665c02ae Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Tue, 14 Oct 2025 10:44:35 +0800 Subject: [PATCH] vim-patch:46d8697: runtime(rst): Style update Minor style and whitespace changes to the reST syntax file, to sync with the development branch. related: vim/vim#18566 https://github.com/vim/vim/commit/46d86979a9208e0842e1d8cfc0341737efc95e75 Co-authored-by: Marshall Ward --- runtime/syntax/rst.vim | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/runtime/syntax/rst.vim b/runtime/syntax/rst.vim index bb9a0b3a46..9584947df5 100644 --- a/runtime/syntax/rst.vim +++ b/runtime/syntax/rst.vim @@ -2,8 +2,9 @@ " Language: reStructuredText documentation format " Maintainer: Marshall Ward " Previous Maintainer: Nikolai Weibull +" Reference: https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html " Website: https://github.com/marshallward/vim-restructuredtext -" Latest Revision: 2020-03-31 +" Latest Revision: 2025-10-13 if exists("b:current_syntax") finish @@ -12,7 +13,8 @@ endif let s:cpo_save = &cpo set cpo&vim -syn case ignore +" reStructuredText is case-insensitive +syntax case ignore syn match rstTransition /^[=`:.'"~^_*+#-]\{4,}\s*$/ @@ -97,6 +99,9 @@ execute 'syn region rstExDirective contained matchgroup=rstDirective' . execute 'syn match rstSubstitutionDefinition contained' . \ ' /|.*|\_s\+/ nextgroup=@rstDirectives' + +"" Inline Markup "" + function! s:DefineOneInlineMarkup(name, start, middle, end, char_left, char_right) " Only escape the first char of a multichar delimiter (e.g. \* inside **) if a:start[0] == '\' @@ -190,6 +195,8 @@ execute 'syn match rstHyperlinkReference' . syn match rstStandaloneHyperlink contains=@NoSpell \ "\<\%(\%(\%(https\=\|file\|ftp\|gopher\)://\|\%(mailto\|news\):\)[^[:space:]'\"<>]\+\|www[[:alnum:]_-]*\.[[:alnum:]_-]\+\.[^[:space:]'\"<>]\+\)[[:alnum:]/]" +" `code` is the standard reST directive for source code. +" `code-block` and `sourcecode` are nearly identical directives in Sphinx. syn region rstCodeBlock contained matchgroup=rstDirective \ start=+\%(sourcecode\|code\%(-block\)\=\)::\s*\(\S*\)\?\s*\n\%(\s*:.*:\s*.*\s*\n\)*\n\ze\z(\s\+\)+ \ skip=+^$+