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