Bram Moolenaar | db6ea06 | 2014-07-10 22:01:47 +0200 | [diff] [blame] | 1 | " reStructured Text with R statements |
| 2 | " Language: reST with R code chunks |
| 3 | " Maintainer: Alex Zvoleff, azvoleff@mail.sdsu.edu |
Bram Moolenaar | 77cdfd1 | 2016-03-12 12:57:59 +0100 | [diff] [blame] | 4 | " Homepage: https://github.com/jalvesaq/R-Vim-runtime |
Bram Moolenaar | e4a3bcf | 2016-08-26 19:52:37 +0200 | [diff] [blame] | 5 | " Last Change: Tue Jun 28, 2016 08:53AM |
Bram Moolenaar | db6ea06 | 2014-07-10 22:01:47 +0200 | [diff] [blame] | 6 | " |
| 7 | " CONFIGURATION: |
| 8 | " To highlight chunk headers as R code, put in your vimrc: |
| 9 | " let rrst_syn_hl_chunk = 1 |
| 10 | |
Bram Moolenaar | 77cdfd1 | 2016-03-12 12:57:59 +0100 | [diff] [blame] | 11 | if exists("b:current_syntax") |
Bram Moolenaar | db6ea06 | 2014-07-10 22:01:47 +0200 | [diff] [blame] | 12 | finish |
| 13 | endif |
| 14 | |
| 15 | " load all of the rst info |
| 16 | runtime syntax/rst.vim |
| 17 | unlet b:current_syntax |
| 18 | |
| 19 | " load all of the r syntax highlighting rules into @R |
| 20 | syntax include @R syntax/r.vim |
| 21 | |
Bram Moolenaar | db6ea06 | 2014-07-10 22:01:47 +0200 | [diff] [blame] | 22 | " highlight R chunks |
| 23 | if exists("g:rrst_syn_hl_chunk") |
| 24 | " highlight R code inside chunk header |
| 25 | syntax match rrstChunkDelim "^\.\. {r" contained |
| 26 | syntax match rrstChunkDelim "}$" contained |
| 27 | else |
| 28 | syntax match rrstChunkDelim "^\.\. {r .*}$" contained |
| 29 | endif |
| 30 | syntax match rrstChunkDelim "^\.\. \.\.$" contained |
| 31 | syntax region rrstChunk start="^\.\. {r.*}$" end="^\.\. \.\.$" contains=@R,rrstChunkDelim keepend transparent fold |
| 32 | |
| 33 | " also highlight in-line R code |
| 34 | syntax match rrstInlineDelim "`" contained |
| 35 | syntax match rrstInlineDelim ":r:" contained |
| 36 | syntax region rrstInline start=":r: *`" skip=/\\\\\|\\`/ end="`" contains=@R,rrstInlineDelim keepend |
| 37 | |
| 38 | hi def link rrstChunkDelim Special |
| 39 | hi def link rrstInlineDelim Special |
| 40 | |
| 41 | let b:current_syntax = "rrst" |
| 42 | |
| 43 | " vim: ts=8 sw=2 |