File: rst.vim

package info (click to toggle)
vim 2%3A9.1.2103-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 93,456 kB
  • sloc: ansic: 433,730; cpp: 6,399; makefile: 4,597; sh: 2,397; java: 2,312; xml: 2,099; python: 1,595; perl: 1,419; awk: 730; lisp: 501; cs: 458; objc: 369; sed: 8; csh: 6; haskell: 1
file content (52 lines) | stat: -rw-r--r-- 1,675 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
" 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
" 2026 Jan 11 by Vim project: set suffixesadd #19149

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< suffixesadd<"

setlocal comments=fb:.. commentstring=..\ %s expandtab
setlocal formatoptions+=tcroql
setlocal suffixesadd=.rst

" 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