blob: 9805f677c800a3668a6d4dbf20b0d3337503857c [file] [log] [blame]
Bram Moolenaarc1e37902006-04-18 21:55:01 +00001" Vim syntax file
2" Language: R noweb Files
3" Maintainer: Johannes Ranke <jranke@uni-bremen.de>
Bram Moolenaar551dbcc2006-04-25 22:13:59 +00004" Last Change: 2006 Apr 25
5" Version: 0.6
Bram Moolenaarc1e37902006-04-18 21:55:01 +00006" SVN: $Id$
7" Remarks: - This file is inspired by the proposal of
8" Fernando Henrique Ferraz Pereira da Rosa <feferraz@ime.usp.br>
9" http://www.ime.usp.br/~feferraz/en/sweavevim.html
10" - It extends some clusters from syntax/tex.vim (version 33,
11" March 06 2006) and therefore depends on some contents
12" of this file
13"
14
15" Version Clears: {{{1
16" For version 5.x: Clear all syntax items
17" For version 6.x and 7.x: Quit when a syntax file was already loaded
18if version < 600
19 syntax clear
20elseif exists("b:current_syntax")
21 finish
22endif
23
24syn case match
25
26" Extension of Tex regions {{{1
27runtime syntax/tex.vim
28unlet b:current_syntax
29
30syn cluster texDocGroup contains=texPartZone,@texPartGroup,@rnoweb
31syn cluster texPartGroup contains=texChapterZone,texSectionZone,texParaZone,@rnoweb
32syn cluster texChapterGroup contains=texSectionZone,texParaZone,@rnoweb
33syn cluster texSectionGroup contains=texSubSectionZone,texParaZone,@rnoweb
34syn cluster texSubSectionGroup contains=texSubSubSectionZone,texParaZone,@rnoweb
35syn cluster texSubSubSectionGroup contains=texParaZone,@rnoweb
36syn cluster texParaGroup contains=texSubParaZone,@rnoweb
37
38" Highlighting of R code using an existing r.vim syntax file if available {{{1
39syn include @rnowebR syntax/r.vim
40syn region rnowebChunk matchgroup=rnowebDelimiter start="^<<.*>>=" matchgroup=rnowebDelimiter end="^@" contains=@rnowebR,rnowebChunkReference,rnowebChunk keepend
41syn match rnowebChunkReference "^<<.*>>$" contained
42syn region rnowebSexpr matchgroup=Delimiter start="\\Sexpr{" matchgroup=Delimiter end="}" contains=@rnowebR
43
44" Sweave options command {{{1
45syn region rnowebSweaveopts matchgroup=Delimiter start="\\SweaveOpts{" matchgroup=Delimiter end="}"
46
47" rnoweb Cluster {{{1
48syn cluster rnoweb contains=rnowebChunk,rnowebChunkReference,rnowebDelimiter,rnowebSexpr,rnowebSweaveopts
49
50" Highlighting {{{1
51hi def link rnowebDelimiter Delimiter
52hi def link rnowebSweaveOpts Statement
Bram Moolenaar551dbcc2006-04-25 22:13:59 +000053hi def link rnowebChunkReference Delimiter
Bram Moolenaarc1e37902006-04-18 21:55:01 +000054
55let b:current_syntax = "rnoweb"
56" vim: foldmethod=marker: