xref: /vim-8.2.3635/runtime/syntax/rnoweb.vim (revision f193fffd)
1" Vim syntax file
2" Language:    R noweb Files
3" Maintainer:  Johannes Ranke <[email protected]>
4" Last Change: 2006 Apr 25
5" Version:     0.6
6" SVN:	       $Id$
7" Remarks:     - This file is inspired by the proposal of
8"				 Fernando Henrique Ferraz Pereira da Rosa <[email protected]>
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
53hi def link rnowebChunkReference Delimiter
54
55let   b:current_syntax = "rnoweb"
56" vim: foldmethod=marker:
57