diff options
Diffstat (limited to 'vim73/syntax/rhelp.vim')
-rw-r--r-- | vim73/syntax/rhelp.vim | 216 |
1 files changed, 216 insertions, 0 deletions
diff --git a/vim73/syntax/rhelp.vim b/vim73/syntax/rhelp.vim new file mode 100644 index 0000000..7550b12 --- /dev/null +++ b/vim73/syntax/rhelp.vim @@ -0,0 +1,216 @@ +" Vim syntax file +" Language: R Help File +" Maintainer: Johannes Ranke <jranke@uni-bremen.de> +" Last Change: 2010 Nov 22 +" Version: 0.7.4 +" SVN: $Id: rhelp.vim 90 2010-11-22 10:58:11Z ranke $ +" Remarks: - Includes R syntax highlighting in the appropriate +" sections if an r.vim file is in the same directory or in the +" default debian location. +" - There is no Latex markup in equations +" - Thanks to Will Gray for finding and fixing a bug +" - No support for \if, \ifelse and \out as I don't understand +" them and have no examples at hand (help welcome). +" - No support for \var tag within quoted string (dito) + +" Version Clears: {{{1 +" For version 5.x: Clear all syntax items +" For version 6.x and 7.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +syn case match + +" R help identifiers {{{ +syn region rhelpIdentifier matchgroup=rhelpSection start="\\name{" end="}" +syn region rhelpIdentifier matchgroup=rhelpSection start="\\alias{" end="}" +syn region rhelpIdentifier matchgroup=rhelpSection start="\\pkg{" end="}" +syn region rhelpIdentifier matchgroup=rhelpSection start="\\method{" end="}" contained +syn region rhelpIdentifier matchgroup=rhelpSection start="\\Rdversion{" end="}" + +" Highlighting of R code using an existing r.vim syntax file if available {{{1 +syn include @R syntax/r.vim +syn match rhelpDots "\\dots" containedin=@R +syn region rhelpRcode matchgroup=Delimiter start="\\examples{" matchgroup=Delimiter transparent end="}" contains=@R,rhelpSection +syn region rhelpRcode matchgroup=Delimiter start="\\usage{" matchgroup=Delimiter transparent end="}" contains=@R,rhelpIdentifier,rhelpS4method +syn region rhelpRcode matchgroup=Delimiter start="\\synopsis{" matchgroup=Delimiter transparent end="}" contains=@R +syn region rhelpRcode matchgroup=Delimiter start="\\special{" matchgroup=Delimiter transparent end="}" contains=@R contained +syn region rhelpRcode matchgroup=Delimiter start="\\code{" matchgroup=Delimiter transparent end="}" contains=@R,rhelpLink contained +syn region rhelpS4method matchgroup=Delimiter start="\\S4method{.*}(" matchgroup=Delimiter transparent end=")" contains=@R,rhelpDots contained +syn region rhelpSexpr matchgroup=Delimiter start="\\Sexpr{" matchgroup=Delimiter transparent end="}" contains=@R + +" Strings {{{1 +syn region rhelpString start=/"/ end=/"/ + +" Special characters ( \$ \& \% \# \{ \} \_) {{{1 +syn match rhelpSpecialChar "\\[$&%#{}_]" + +" Special Delimiters {{{1 +syn match rhelpDelimiter "\\cr" +syn match rhelpDelimiter "\\tab " + +" Keywords {{{1 +syn match rhelpKeyword "\\R" contained +syn match rhelpKeyword "\\ldots" +syn match rhelpKeyword "--" +syn match rhelpKeyword "---" +syn match rhelpKeyword "<" +syn match rhelpKeyword ">" +syn match rhelpKeyword "\\ge" +syn match rhelpKeyword "\\le" +syn match rhelpKeyword "\\alpha" +syn match rhelpKeyword "\\beta" +syn match rhelpKeyword "\\gamma" +syn match rhelpKeyword "\\delta" +syn match rhelpKeyword "\\epsilon" +syn match rhelpKeyword "\\zeta" +syn match rhelpKeyword "\\eta" +syn match rhelpKeyword "\\theta" +syn match rhelpKeyword "\\iota" +syn match rhelpKeyword "\\kappa" +syn match rhelpKeyword "\\lambda" +syn match rhelpKeyword "\\mu" +syn match rhelpKeyword "\\nu" +syn match rhelpKeyword "\\xi" +syn match rhelpKeyword "\\omicron" +syn match rhelpKeyword "\\pi" +syn match rhelpKeyword "\\rho" +syn match rhelpKeyword "\\sigma" +syn match rhelpKeyword "\\tau" +syn match rhelpKeyword "\\upsilon" +syn match rhelpKeyword "\\phi" +syn match rhelpKeyword "\\chi" +syn match rhelpKeyword "\\psi" +syn match rhelpKeyword "\\omega" +syn match rhelpKeyword "\\Alpha" +syn match rhelpKeyword "\\Beta" +syn match rhelpKeyword "\\Gamma" +syn match rhelpKeyword "\\Delta" +syn match rhelpKeyword "\\Epsilon" +syn match rhelpKeyword "\\Zeta" +syn match rhelpKeyword "\\Eta" +syn match rhelpKeyword "\\Theta" +syn match rhelpKeyword "\\Iota" +syn match rhelpKeyword "\\Kappa" +syn match rhelpKeyword "\\Lambda" +syn match rhelpKeyword "\\Mu" +syn match rhelpKeyword "\\Nu" +syn match rhelpKeyword "\\Xi" +syn match rhelpKeyword "\\Omicron" +syn match rhelpKeyword "\\Pi" +syn match rhelpKeyword "\\Rho" +syn match rhelpKeyword "\\Sigma" +syn match rhelpKeyword "\\Tau" +syn match rhelpKeyword "\\Upsilon" +syn match rhelpKeyword "\\Phi" +syn match rhelpKeyword "\\Chi" +syn match rhelpKeyword "\\Psi" +syn match rhelpKeyword "\\Omega" + +" Links {{{1 +syn region rhelpLink matchgroup=rhelpSection start="\\link{" end="}" contained keepend +syn region rhelpLink matchgroup=rhelpSection start="\\link\[.\{-}\]{" end="}" contained keepend +syn region rhelpLink matchgroup=rhelpSection start="\\linkS4class{" end="}" contained keepend + +" Type Styles {{{1 +syn match rhelpType "\\emph\>" +syn match rhelpType "\\strong\>" +syn match rhelpType "\\bold\>" +syn match rhelpType "\\sQuote\>" +syn match rhelpType "\\dQuote\>" +syn match rhelpType "\\preformatted\>" +syn match rhelpType "\\kbd\>" +syn match rhelpType "\\samp\>" +syn match rhelpType "\\eqn\>" +syn match rhelpType "\\deqn\>" +syn match rhelpType "\\file\>" +syn match rhelpType "\\email\>" +syn match rhelpType "\\url\>" +syn match rhelpType "\\href\>" +syn match rhelpType "\\var\>" +syn match rhelpType "\\env\>" +syn match rhelpType "\\option\>" +syn match rhelpType "\\command\>" +syn match rhelpType "\\newcommand\>" +syn match rhelpType "\\renewcommand\>" +syn match rhelpType "\\dfn\>" +syn match rhelpType "\\cite\>" +syn match rhelpType "\\acronym\>" + +" rhelp sections {{{1 +syn match rhelpSection "\\encoding\>" +syn match rhelpSection "\\title\>" +syn match rhelpSection "\\item\>" +syn match rhelpSection "\\description\>" +syn match rhelpSection "\\concept\>" +syn match rhelpSection "\\arguments\>" +syn match rhelpSection "\\details\>" +syn match rhelpSection "\\value\>" +syn match rhelpSection "\\references\>" +syn match rhelpSection "\\note\>" +syn match rhelpSection "\\author\>" +syn match rhelpSection "\\seealso\>" +syn match rhelpSection "\\keyword\>" +syn match rhelpSection "\\docType\>" +syn match rhelpSection "\\format\>" +syn match rhelpSection "\\source\>" +syn match rhelpSection "\\itemize\>" +syn match rhelpSection "\\describe\>" +syn match rhelpSection "\\enumerate\>" +syn match rhelpSection "\\item " +syn match rhelpSection "\\item$" +syn match rhelpSection "\\tabular{[lcr]*}" +syn match rhelpSection "\\dontrun\>" +syn match rhelpSection "\\dontshow\>" +syn match rhelpSection "\\testonly\>" +syn match rhelpSection "\\donttest\>" + +" Freely named Sections {{{1 +syn region rhelpFreesec matchgroup=Delimiter start="\\section{" matchgroup=Delimiter transparent end="}" +syn region rhelpFreesubsec matchgroup=Delimiter start="\\subsection{" matchgroup=Delimiter transparent end="}" + +" R help file comments {{{1 +syn match rhelpComment /%.*$/ + +" Error {{{1 +syn region rhelpRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rhelpError,rhelpBraceError,rhelpCurlyError +syn region rhelpRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rhelpError,rhelpBraceError,rhelpParenError +syn region rhelpRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rhelpError,rhelpCurlyError,rhelpParenError +syn match rhelpError /[)\]}]/ +syn match rhelpBraceError /[)}]/ contained +syn match rhelpCurlyError /[)\]]/ contained +syn match rhelpParenError /[\]}]/ contained + +" Define the default highlighting {{{1 +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_rhelp_syntax_inits") + if version < 508 + let did_rhelp_syntax_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + HiLink rhelpIdentifier Identifier + HiLink rhelpString String + HiLink rhelpKeyword Keyword + HiLink rhelpDots Keyword + HiLink rhelpLink Underlined + HiLink rhelpType Type + HiLink rhelpSection PreCondit + HiLink rhelpError Error + HiLink rhelpBraceError Error + HiLink rhelpCurlyError Error + HiLink rhelpParenError Error + HiLink rhelpDelimiter Delimiter + HiLink rhelpComment Comment + HiLink rhelpRComment Comment + HiLink rhelpSpecialChar SpecialChar + delcommand HiLink +endif + +let b:current_syntax = "rhelp" +" vim: foldmethod=marker: |