Bram Moolenaar | 91f84f6 | 2018-07-29 15:07:52 +0200 | [diff] [blame] | 1 | " reStructuredText filetype plugin file |
| 2 | " Language: reStructuredText documentation format |
| 3 | " Maintainer: Marshall Ward <marshall.ward@gmail.com> |
| 4 | " Original Maintainer: Nikolai Weibull <now@bitwi.se> |
| 5 | " Website: https://github.com/marshallward/vim-restructuredtext |
Bram Moolenaar | d1caa94 | 2020-04-10 22:10:56 +0200 | [diff] [blame] | 6 | " Latest Revision: 2020-03-31 |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 7 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 8 | if exists("b:did_ftplugin") |
Bram Moolenaar | 91f84f6 | 2018-07-29 15:07:52 +0200 | [diff] [blame] | 9 | finish |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 10 | endif |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 11 | let b:did_ftplugin = 1 |
| 12 | |
Bram Moolenaar | e37d50a | 2008-08-06 17:06:04 +0000 | [diff] [blame] | 13 | let s:cpo_save = &cpo |
| 14 | set cpo&vim |
| 15 | |
Bram Moolenaar | 4c05fa0 | 2019-01-01 15:32:17 +0100 | [diff] [blame] | 16 | "Disable folding |
| 17 | if !exists('g:rst_fold_enabled') |
| 18 | let g:rst_fold_enabled = 0 |
| 19 | endif |
| 20 | |
Bram Moolenaar | 0dc065e | 2005-07-04 22:49:24 +0000 | [diff] [blame] | 21 | let b:undo_ftplugin = "setl com< cms< et< fo<" |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 22 | |
Bram Moolenaar | 42eeac3 | 2005-06-29 22:40:58 +0000 | [diff] [blame] | 23 | setlocal comments=fb:.. commentstring=..\ %s expandtab |
Bram Moolenaar | 0dc065e | 2005-07-04 22:49:24 +0000 | [diff] [blame] | 24 | setlocal formatoptions+=tcroql |
Bram Moolenaar | e37d50a | 2008-08-06 17:06:04 +0000 | [diff] [blame] | 25 | |
Bram Moolenaar | 91f84f6 | 2018-07-29 15:07:52 +0200 | [diff] [blame] | 26 | " reStructuredText standard recommends that tabs be expanded to 8 spaces |
| 27 | " The choice of 3-space indentation is to provide slightly better support for |
| 28 | " directives (..) and ordered lists (1.), although it can cause problems for |
| 29 | " many other cases. |
| 30 | " |
Viktor Szépe | 3fc7a7e | 2023-08-23 21:20:00 +0200 | [diff] [blame] | 31 | " More sophisticated indentation rules should be revisited in the future. |
Bram Moolenaar | 91f84f6 | 2018-07-29 15:07:52 +0200 | [diff] [blame] | 32 | |
Bram Moolenaar | 4c92e75 | 2019-02-17 21:18:32 +0100 | [diff] [blame] | 33 | if exists("g:rst_style") && g:rst_style != 0 |
Bram Moolenaar | 91f84f6 | 2018-07-29 15:07:52 +0200 | [diff] [blame] | 34 | setlocal expandtab shiftwidth=3 softtabstop=3 tabstop=8 |
| 35 | endif |
| 36 | |
Bram Moolenaar | d1caa94 | 2020-04-10 22:10:56 +0200 | [diff] [blame] | 37 | if g:rst_fold_enabled != 0 && has('patch-7.3.867') " Introduced the TextChanged event. |
Bram Moolenaar | 91f84f6 | 2018-07-29 15:07:52 +0200 | [diff] [blame] | 38 | setlocal foldmethod=expr |
| 39 | setlocal foldexpr=RstFold#GetRstFold() |
| 40 | setlocal foldtext=RstFold#GetRstFoldText() |
| 41 | augroup RstFold |
| 42 | autocmd TextChanged,InsertLeave <buffer> unlet! b:RstFoldCache |
| 43 | augroup END |
| 44 | endif |
| 45 | |
Bram Moolenaar | e37d50a | 2008-08-06 17:06:04 +0000 | [diff] [blame] | 46 | let &cpo = s:cpo_save |
| 47 | unlet s:cpo_save |