mirror of
https://github.com/neovim/neovim.git
synced 2025-10-17 23:31:51 +00:00
vim-patch:4e9f16d: runtime(rst): Correctly end nested comments
Previously, a comment in a directive block would incorrectly mark
all subsequent lines in the directive block as comment, because the
syn-region did not check the leading indent.
related: vim/vim#18566
4e9f16dd1e
Co-authored-by: Antony Lee <anntzer.lee@gmail.com>
This commit is contained in:
@@ -52,7 +52,8 @@ syn cluster rstDirectives contains=rstFootnote,rstCitation,
|
||||
\ rstHyperlinkTarget,rstExDirective
|
||||
|
||||
syn match rstExplicitMarkup '^\s*\.\.\_s'
|
||||
\ nextgroup=@rstDirectives,rstComment,rstSubstitutionDefinition
|
||||
\ nextgroup=@rstDirectives,rstSubstitutionDefinition
|
||||
\ contains=rstComment
|
||||
|
||||
" "Simple reference names are single words consisting of alphanumerics plus
|
||||
" isolated (no two adjacent) internal hyphens, underscores, periods, colons
|
||||
@@ -61,10 +62,10 @@ let s:ReferenceName = '[[:alnum:]]\%([-_.:+]\?[[:alnum:]]\+\)*'
|
||||
|
||||
syn keyword rstTodo contained FIXME TODO XXX NOTE
|
||||
|
||||
execute 'syn region rstComment contained' .
|
||||
\ ' start=/.*/'
|
||||
\ ' skip=+^$+' .
|
||||
\ ' end=/^\s\@!/ contains=rstTodo'
|
||||
syn region rstComment
|
||||
\ start='\v^\z(\s*)\.\.(\_s+[\[|_]|\_s+.*::)@!' skip=+^$+ end=/^\(\z1 \)\@!/
|
||||
\ contains=@Spell,rstTodo
|
||||
|
||||
|
||||
execute 'syn region rstFootnote contained matchgroup=rstDirective' .
|
||||
\ ' start=+\[\%(\d\+\|#\%(' . s:ReferenceName . '\)\=\|\*\)\]\_s+' .
|
||||
|
Reference in New Issue
Block a user