xref: /vim-8.2.3635/runtime/syntax/rrst.vim (revision fc65cabb)
1db6ea063SBram Moolenaar" reStructured Text with R statements
2db6ea063SBram Moolenaar" Language: reST with R code chunks
3db6ea063SBram Moolenaar" Maintainer: Alex Zvoleff, [email protected]
477cdfd10SBram Moolenaar" Homepage: https://github.com/jalvesaq/R-Vim-runtime
5*fc65cabbSBram Moolenaar" Last Change: Thu Apr 05, 2018  11:06PM
6db6ea063SBram Moolenaar"
7db6ea063SBram Moolenaar" CONFIGURATION:
8db6ea063SBram Moolenaar"   To highlight chunk headers as R code, put in your vimrc:
9db6ea063SBram Moolenaar"   let rrst_syn_hl_chunk = 1
10db6ea063SBram Moolenaar
1177cdfd10SBram Moolenaarif exists("b:current_syntax")
12db6ea063SBram Moolenaar  finish
13db6ea063SBram Moolenaarendif
14db6ea063SBram Moolenaar
15db6ea063SBram Moolenaar" load all of the rst info
16db6ea063SBram Moolenaarruntime syntax/rst.vim
17*fc65cabbSBram Moolenaarunlet! b:current_syntax
18db6ea063SBram Moolenaar
19db6ea063SBram Moolenaar" load all of the r syntax highlighting rules into @R
20db6ea063SBram Moolenaarsyntax include @R syntax/r.vim
21db6ea063SBram Moolenaar
22db6ea063SBram Moolenaar" highlight R chunks
23db6ea063SBram Moolenaarif exists("g:rrst_syn_hl_chunk")
24db6ea063SBram Moolenaar  " highlight R code inside chunk header
25db6ea063SBram Moolenaar  syntax match rrstChunkDelim "^\.\. {r" contained
26db6ea063SBram Moolenaar  syntax match rrstChunkDelim "}$" contained
27db6ea063SBram Moolenaarelse
28db6ea063SBram Moolenaar  syntax match rrstChunkDelim "^\.\. {r .*}$" contained
29db6ea063SBram Moolenaarendif
30db6ea063SBram Moolenaarsyntax match rrstChunkDelim "^\.\. \.\.$" contained
31db6ea063SBram Moolenaarsyntax region rrstChunk start="^\.\. {r.*}$" end="^\.\. \.\.$" contains=@R,rrstChunkDelim keepend transparent fold
32db6ea063SBram Moolenaar
33db6ea063SBram Moolenaar" also highlight in-line R code
34db6ea063SBram Moolenaarsyntax match rrstInlineDelim "`" contained
35db6ea063SBram Moolenaarsyntax match rrstInlineDelim ":r:" contained
36db6ea063SBram Moolenaarsyntax region rrstInline start=":r: *`" skip=/\\\\\|\\`/ end="`" contains=@R,rrstInlineDelim keepend
37db6ea063SBram Moolenaar
38db6ea063SBram Moolenaarhi def link rrstChunkDelim Special
39db6ea063SBram Moolenaarhi def link rrstInlineDelim Special
40db6ea063SBram Moolenaar
41db6ea063SBram Moolenaarlet b:current_syntax = "rrst"
42db6ea063SBram Moolenaar
43db6ea063SBram Moolenaar" vim: ts=8 sw=2
44