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