714
|
1 " Vim syntax file
|
|
2 " Language: R Help File
|
|
3 " Maintainer: Johannes Ranke <jranke@uni-bremen.de>
|
827
|
4 " Last Change: 2006 Apr 12
|
|
5 " Version: 0.6
|
714
|
6 " Remarks: - Now includes R syntax highlighting in the appropriate
|
|
7 " sections if an r.vim file is in the same directory or in the
|
|
8 " default debian location.
|
|
9 " - I didn't yet include any special markup for S4 methods.
|
|
10 " - The two versions of \item{}{} markup are not
|
|
11 " distinguished (in the \arguments{} environment, the items to
|
|
12 " be described are R identifiers, but not in the \describe{}
|
|
13 " environment).
|
|
14 " - There is no Latex markup in equations
|
|
15
|
|
16 " Version Clears: {{{1
|
|
17 " For version 5.x: Clear all syntax items
|
819
|
18 " For version 6.x and 7.x: Quit when a syntax file was already loaded
|
714
|
19 if version < 600
|
|
20 syntax clear
|
|
21 elseif exists("b:current_syntax")
|
|
22 finish
|
|
23 endif
|
|
24
|
|
25 syn case match
|
|
26
|
|
27 " Rd identifiers {{{
|
|
28 syn region rhelpIdentifier matchgroup=rhelpSection start="\\name{" end="}"
|
|
29 syn region rhelpIdentifier matchgroup=rhelpSection start="\\alias{" end="}"
|
|
30 syn region rhelpIdentifier matchgroup=rhelpSection start="\\pkg{" end="}"
|
|
31 syn region rhelpIdentifier matchgroup=rhelpSection start="\\item{" end="}" contained
|
|
32 syn region rhelpIdentifier matchgroup=rhelpSection start="\\method{" end=/}/ contained
|
|
33
|
|
34 " Highlighting of R code using an existing r.vim syntax file if available {{{1
|
827
|
35 syn include @R syntax/r.vim
|
714
|
36 syn region rhelpRcode matchgroup=Delimiter start="\\examples{" matchgroup=Delimiter transparent end=/}/ contains=@R,rhelpSection
|
|
37 syn region rhelpRcode matchgroup=Delimiter start="\\usage{" matchgroup=Delimiter transparent end=/}/ contains=@R,rhelpIdentifier
|
|
38 syn region rhelpRcode matchgroup=Delimiter start="\\synopsis{" matchgroup=Delimiter transparent end=/}/ contains=@R
|
|
39 syn region rhelpRcode matchgroup=Delimiter start="\\special{" matchgroup=Delimiter transparent end=/}/ contains=@R contained
|
819
|
40 syn region rhelpRcode matchgroup=Delimiter start="\\code{" matchgroup=Delimiter transparent end=/}/ contains=@R,rhelpLink contained
|
714
|
41
|
|
42 " Strings {{{1
|
|
43 syn region rhelpString start=/"/ end=/"/
|
|
44
|
819
|
45 " Special characters ( \$ \& \% \# \{ \} \_) {{{1
|
714
|
46 syn match rhelpSpecialChar "\\[$&%#{}_]"
|
|
47
|
|
48 " Special Delimiters {{{1
|
|
49 syn match rhelpDelimiter "\\cr"
|
|
50 syn match rhelpDelimiter "\\tab "
|
|
51
|
|
52 " Keywords {{{1
|
|
53 syn match rhelpKeyword "\\R"
|
|
54 syn match rhelpKeyword "\\dots"
|
|
55 syn match rhelpKeyword "\\ldots"
|
|
56
|
|
57 " Links {{{1
|
|
58 syn region rhelpLink matchgroup=rhelpSection start="\\link{" end="}" contained keepend
|
|
59 syn region rhelpLink matchgroup=rhelpSection start="\\link\[.*\]{" end="}" contained keepend
|
|
60
|
|
61 " Type Styles {{{1
|
|
62 syn match rhelpType "\\emph\>"
|
|
63 syn match rhelpType "\\strong\>"
|
|
64 syn match rhelpType "\\bold\>"
|
|
65 syn match rhelpType "\\sQuote\>"
|
|
66 syn match rhelpType "\\dQuote\>"
|
|
67 syn match rhelpType "\\preformatted\>"
|
|
68 syn match rhelpType "\\kbd\>"
|
|
69 syn match rhelpType "\\samp\>"
|
|
70 syn match rhelpType "\\eqn\>"
|
|
71 syn match rhelpType "\\deqn\>"
|
|
72 syn match rhelpType "\\file\>"
|
|
73 syn match rhelpType "\\email\>"
|
|
74 syn match rhelpType "\\url\>"
|
|
75 syn match rhelpType "\\var\>"
|
|
76 syn match rhelpType "\\env\>"
|
|
77 syn match rhelpType "\\option\>"
|
|
78 syn match rhelpType "\\command\>"
|
|
79 syn match rhelpType "\\dfn\>"
|
|
80 syn match rhelpType "\\cite\>"
|
|
81 syn match rhelpType "\\acronym\>"
|
|
82
|
|
83 " rhelp sections {{{1
|
|
84 syn match rhelpSection "\\encoding\>"
|
|
85 syn match rhelpSection "\\title\>"
|
|
86 syn match rhelpSection "\\description\>"
|
|
87 syn match rhelpSection "\\concept\>"
|
|
88 syn match rhelpSection "\\arguments\>"
|
|
89 syn match rhelpSection "\\details\>"
|
|
90 syn match rhelpSection "\\value\>"
|
|
91 syn match rhelpSection "\\references\>"
|
|
92 syn match rhelpSection "\\note\>"
|
|
93 syn match rhelpSection "\\author\>"
|
|
94 syn match rhelpSection "\\seealso\>"
|
|
95 syn match rhelpSection "\\keyword\>"
|
|
96 syn match rhelpSection "\\docType\>"
|
|
97 syn match rhelpSection "\\format\>"
|
|
98 syn match rhelpSection "\\source\>"
|
|
99 syn match rhelpSection "\\itemize\>"
|
|
100 syn match rhelpSection "\\describe\>"
|
|
101 syn match rhelpSection "\\enumerate\>"
|
|
102 syn match rhelpSection "\\item "
|
|
103 syn match rhelpSection "\\item$"
|
|
104 syn match rhelpSection "\\tabular{[lcr]*}"
|
|
105 syn match rhelpSection "\\dontrun\>"
|
|
106 syn match rhelpSection "\\dontshow\>"
|
|
107 syn match rhelpSection "\\testonly\>"
|
|
108
|
|
109 " Freely named Sections {{{1
|
|
110 syn region rhelpFreesec matchgroup=Delimiter start="\\section{" matchgroup=Delimiter transparent end=/}/
|
|
111
|
|
112 " Rd comments {{{1
|
|
113 syn match rhelpComment /%.*$/ contained
|
|
114
|
|
115 " Error {{{1
|
|
116 syn region rhelpRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rhelpError,rhelpBraceError,rhelpCurlyError
|
|
117 syn region rhelpRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rhelpError,rhelpBraceError,rhelpParenError
|
|
118 syn region rhelpRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rhelpError,rhelpCurlyError,rhelpParenError
|
|
119 syn match rhelpError /[)\]}]/
|
|
120 syn match rhelpBraceError /[)}]/ contained
|
|
121 syn match rhelpCurlyError /[)\]]/ contained
|
|
122 syn match rhelpParenError /[\]}]/ contained
|
|
123
|
|
124 " Define the default highlighting {{{1
|
|
125 " For version 5.7 and earlier: only when not done already
|
|
126 " For version 5.8 and later: only when an item doesn't have highlighting yet
|
|
127 if version >= 508 || !exists("did_rhelp_syntax_inits")
|
|
128 if version < 508
|
|
129 let did_rhelp_syntax_inits = 1
|
|
130 command -nargs=+ HiLink hi link <args>
|
|
131 else
|
|
132 command -nargs=+ HiLink hi def link <args>
|
|
133 endif
|
|
134 HiLink rhelpIdentifier Identifier
|
|
135 HiLink rhelpString String
|
|
136 HiLink rhelpKeyword Keyword
|
|
137 HiLink rhelpLink Underlined
|
|
138 HiLink rhelpType Type
|
|
139 HiLink rhelpSection PreCondit
|
|
140 HiLink rhelpError Error
|
|
141 HiLink rhelpBraceError Error
|
|
142 HiLink rhelpCurlyError Error
|
|
143 HiLink rhelpParenError Error
|
|
144 HiLink rhelpDelimiter Delimiter
|
|
145 HiLink rhelpComment Comment
|
|
146 HiLink rhelpRComment Comment
|
|
147 HiLink rhelpSpecialChar SpecialChar
|
|
148 delcommand HiLink
|
|
149 endif
|
|
150
|
|
151 let b:current_syntax = "rhelp"
|
|
152 " vim: foldmethod=marker:
|