1db6ea063SBram Moolenaar" Vim filetype plugin file 2e4a3bcf2SBram Moolenaar" Language: R Markdown file 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:03PM 6e4a3bcf2SBram Moolenaar" Original work by Alex Zvoleff (adjusted from R help for rmd by Michel Kuhlmann) 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 13fc65cabbSBram Moolenaarif exists('g:rmd_include_html') && g:rmd_include_html 14db6ea063SBram Moolenaar runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim 15e4a3bcf2SBram Moolenaarendif 16e4a3bcf2SBram Moolenaar 17fc65cabbSBram Moolenaarsetlocal comments=fb:*,fb:-,fb:+,n:> 18fc65cabbSBram Moolenaarsetlocal commentstring=#\ %s 19db6ea063SBram Moolenaarsetlocal formatoptions+=tcqln 20db6ea063SBram Moolenaarsetlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^\\s*[-*+]\\s\\+ 21db6ea063SBram Moolenaarsetlocal iskeyword=@,48-57,_,. 22db6ea063SBram Moolenaar 23db6ea063SBram Moolenaarlet s:cpo_save = &cpo 24db6ea063SBram Moolenaarset cpo&vim 25db6ea063SBram Moolenaar 26fc65cabbSBram Moolenaarfunction! FormatRmd() 27fc65cabbSBram Moolenaar if search("^[ \t]*```[ ]*{r", "bncW") > search("^[ \t]*```$", "bncW") 28fc65cabbSBram Moolenaar setlocal comments=:#',:###,:##,:# 29fc65cabbSBram Moolenaar else 30fc65cabbSBram Moolenaar setlocal comments=fb:*,fb:-,fb:+,n:> 31fc65cabbSBram Moolenaar endif 32fc65cabbSBram Moolenaar return 1 33fc65cabbSBram Moolenaarendfunction 34fc65cabbSBram Moolenaar 35fc65cabbSBram Moolenaar" If you do not want 'comments' dynamically defined, put in your vimrc: 36fc65cabbSBram Moolenaar" let g:rmd_dynamic_comments = 0 37fc65cabbSBram Moolenaarif !exists("g:rmd_dynamic_comments") || (exists("g:rmd_dynamic_comments") && g:rmd_dynamic_comments == 1) 38fc65cabbSBram Moolenaar setlocal formatexpr=FormatRmd() 39fc65cabbSBram Moolenaarendif 40fc65cabbSBram Moolenaar 41fc65cabbSBram Moolenaar 42db6ea063SBram Moolenaar" Enables pandoc if it is installed 43db6ea063SBram Moolenaarunlet! b:did_ftplugin 44db6ea063SBram Moolenaarruntime ftplugin/pandoc.vim 45db6ea063SBram Moolenaar 46db6ea063SBram Moolenaar" Don't load another plugin for this buffer 47db6ea063SBram Moolenaarlet b:did_ftplugin = 1 48db6ea063SBram Moolenaar 49*11e3c5baSBram Moolenaarif (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter") 50db6ea063SBram Moolenaar let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" . 51db6ea063SBram Moolenaar \ "All Files (*.*)\t*.*\n" 52db6ea063SBram Moolenaarendif 53db6ea063SBram Moolenaar 54db6ea063SBram Moolenaarif exists('b:undo_ftplugin') 55db6ea063SBram Moolenaar let b:undo_ftplugin .= " | setl cms< com< fo< flp< isk< | unlet! b:browsefilter" 56db6ea063SBram Moolenaarelse 57db6ea063SBram Moolenaar let b:undo_ftplugin = "setl cms< com< fo< flp< isk< | unlet! b:browsefilter" 58db6ea063SBram Moolenaarendif 59db6ea063SBram Moolenaar 60db6ea063SBram Moolenaarlet &cpo = s:cpo_save 61db6ea063SBram Moolenaarunlet s:cpo_save 62db6ea063SBram Moolenaar 63db6ea063SBram Moolenaar" vim: sw=2 64