0
0
mirror of https://github.com/vim/vim.git synced 2025-10-17 07:44:28 -04:00
Files
vim/runtime/ftplugin/rst.vim
Doug Kearns 5ffb23c967 runtime(rst): Update b:undo_ftplugin variable
The value of this variable is evaluated when the 'filetype' option is
changed and should be a command string that will undo any configuration
changes that the plugin has made.

See :help undo_indent for details

related: #18566

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Marshall Ward <marshall.ward@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-13 18:36:38 +00:00

51 lines
1.5 KiB
VimL

" reStructuredText filetype plugin file
" Language: reStructuredText documentation format
" Maintainer: Marshall Ward <marshall.ward@gmail.com>
" Original Maintainer: Nikolai Weibull <now@bitwi.se>
" Website: https://github.com/marshallward/vim-restructuredtext
" Latest Revision: 2020-03-31
" 2025 Oct 13 by Vim project: update b:undo_ftplugin #18566
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
"Disable folding
if !exists('g:rst_fold_enabled')
let g:rst_fold_enabled = 0
endif
let b:undo_ftplugin = "setlocal comments< commentstring< expandtab< formatoptions<"
setlocal comments=fb:.. commentstring=..\ %s expandtab
setlocal formatoptions+=tcroql
" reStructuredText standard recommends that tabs be expanded to 8 spaces
" The choice of 3-space indentation is to provide slightly better support for
" directives (..) and ordered lists (1.), although it can cause problems for
" many other cases.
"
" More sophisticated indentation rules should be revisited in the future.
if exists("g:rst_style") && g:rst_style != 0
setlocal expandtab shiftwidth=3 softtabstop=3 tabstop=8
let b:undo_ftplugin .= " | setlocal softtabstop< shiftwidth< tabstop<"
endif
if g:rst_fold_enabled != 0
setlocal foldmethod=expr
setlocal foldexpr=RstFold#GetRstFold()
setlocal foldtext=RstFold#GetRstFoldText()
augroup RstFold
autocmd TextChanged,InsertLeave <buffer> unlet! b:RstFoldCache
augroup END
let b:undo_ftplugin .= " | setlocal foldexpr< foldmethod< foldtext<"
endif
let &cpo = s:cpo_save
unlet s:cpo_save