xref: /vim-8.2.3635/runtime/ftplugin/rrst.vim (revision 11e3c5ba)
1db6ea063SBram Moolenaar" Vim filetype plugin file
2db6ea063SBram Moolenaar" Language: reStructuredText documentation format with R code
3db6ea063SBram Moolenaar" Maintainer: Jakson Alves de Aquino <[email protected]>
477cdfd10SBram Moolenaar" Homepage: https://github.com/jalvesaq/R-Vim-runtime
5*11e3c5baSBram Moolenaar" Last Change:	Sat Aug 15, 2020  12:02PM
6db6ea063SBram Moolenaar" Original work by Alex Zvoleff
7db6ea063SBram Moolenaar
8db6ea063SBram Moolenaar" Only do this when not yet done for this buffer
9db6ea063SBram Moolenaarif exists("b:did_ftplugin")
10db6ea063SBram Moolenaar  finish
11db6ea063SBram Moolenaarendif
12db6ea063SBram Moolenaar
13db6ea063SBram Moolenaar" Don't load another plugin for this buffer
14db6ea063SBram Moolenaarlet b:did_ftplugin = 1
15db6ea063SBram Moolenaar
16db6ea063SBram Moolenaarlet s:cpo_save = &cpo
17db6ea063SBram Moolenaarset cpo&vim
18db6ea063SBram Moolenaar
19fc65cabbSBram Moolenaarsetlocal comments=fb:*,fb:-,fb:+,n:>
20fc65cabbSBram Moolenaarsetlocal commentstring=#\ %s
21db6ea063SBram Moolenaarsetlocal formatoptions+=tcqln
22db6ea063SBram Moolenaarsetlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^\\s*[-*+]\\s\\+
23db6ea063SBram Moolenaarsetlocal iskeyword=@,48-57,_,.
24db6ea063SBram Moolenaar
25fc65cabbSBram Moolenaarfunction! FormatRrst()
26fc65cabbSBram Moolenaar  if search('^\.\. {r', "bncW") > search('^\.\. \.\.$', "bncW")
27fc65cabbSBram Moolenaar    setlocal comments=:#',:###,:##,:#
28fc65cabbSBram Moolenaar  else
29fc65cabbSBram Moolenaar    setlocal comments=fb:*,fb:-,fb:+,n:>
30fc65cabbSBram Moolenaar  endif
31fc65cabbSBram Moolenaar  return 1
32fc65cabbSBram Moolenaarendfunction
33fc65cabbSBram Moolenaar
34fc65cabbSBram Moolenaar" If you do not want 'comments' dynamically defined, put in your vimrc:
35fc65cabbSBram Moolenaar" let g:rrst_dynamic_comments = 0
36fc65cabbSBram Moolenaarif !exists("g:rrst_dynamic_comments") || (exists("g:rrst_dynamic_comments") && g:rrst_dynamic_comments == 1)
37fc65cabbSBram Moolenaar  setlocal formatexpr=FormatRrst()
38fc65cabbSBram Moolenaarendif
39fc65cabbSBram Moolenaar
40*11e3c5baSBram Moolenaarif (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
41db6ea063SBram Moolenaar  let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" .
42db6ea063SBram Moolenaar        \ "All Files (*.*)\t*.*\n"
43db6ea063SBram Moolenaarendif
44db6ea063SBram Moolenaar
45db6ea063SBram Moolenaarif exists('b:undo_ftplugin')
46db6ea063SBram Moolenaar  let b:undo_ftplugin .= " | setl cms< com< fo< flp< isk< | unlet! b:browsefilter"
47db6ea063SBram Moolenaarelse
48db6ea063SBram Moolenaar  let b:undo_ftplugin = "setl cms< com< fo< flp< isk< | unlet! b:browsefilter"
49db6ea063SBram Moolenaarendif
50db6ea063SBram Moolenaar
51db6ea063SBram Moolenaarlet &cpo = s:cpo_save
52db6ea063SBram Moolenaarunlet s:cpo_save
53db6ea063SBram Moolenaar
54db6ea063SBram Moolenaar" vim: sw=2
55