mirror of
				https://github.com/vim/vim.git
				synced 2025-11-03 09:44:48 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			250 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			250 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" Vim syntax file
 | 
						|
" Language:    R Help File
 | 
						|
" Maintainer: Jakson Aquino <jalvesaq@gmail.com>
 | 
						|
" Former Maintainer: Johannes Ranke <jranke@uni-bremen.de>
 | 
						|
" Last Change: Wed Jul 09, 2014  10:28PM
 | 
						|
" 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 
 | 
						|
 | 
						|
setlocal iskeyword=@,48-57,_,.
 | 
						|
 | 
						|
syn case match
 | 
						|
 | 
						|
" R help identifiers {{{1
 | 
						|
syn region rhelpIdentifier matchgroup=rhelpSection	start="\\name{" end="}" 
 | 
						|
syn region rhelpIdentifier matchgroup=rhelpSection	start="\\alias{" end="}" 
 | 
						|
syn region rhelpIdentifier matchgroup=rhelpSection	start="\\pkg{" end="}" contains=rhelpLink
 | 
						|
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
 | 
						|
 | 
						|
" Strings {{{1
 | 
						|
syn region rhelpString start=/"/ skip=/\\"/ end=/"/ contains=rhelpSpecialChar,rhelpCodeSpecial,rhelpLink contained
 | 
						|
 | 
						|
" Special characters in R strings
 | 
						|
syn match rhelpCodeSpecial display contained "\\\\\(n\|r\|t\|b\|a\|f\|v\|'\|\"\)\|\\\\"
 | 
						|
 | 
						|
" Special characters  ( \$ \& \% \# \{ \} \_)
 | 
						|
syn match rhelpSpecialChar        "\\[$&%#{}_]"
 | 
						|
 | 
						|
 | 
						|
" R code {{{1
 | 
						|
syn match rhelpDots		"\\dots" containedin=@R
 | 
						|
syn region rhelpRcode matchgroup=Delimiter start="\\examples{" matchgroup=Delimiter transparent end="}" contains=@R,rhelpLink,rhelpIdentifier,rhelpString,rhelpSpecialChar,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
 | 
						|
 | 
						|
if v:version > 703
 | 
						|
  syn region rhelpRcode matchgroup=Delimiter start="\\code{" skip='\\\@1<!{.\{-}\\\@1<!}' transparent end="}" contains=@R,rhelpDots,rhelpString,rhelpSpecialChar,rhelpLink keepend
 | 
						|
else
 | 
						|
  syn region rhelpRcode matchgroup=Delimiter start="\\code{" skip='\\\@<!{.\{-}\\\@<!}' transparent end="}" contains=@R,rhelpDots,rhelpString,rhelpSpecialChar,rhelpLink keepend
 | 
						|
endif
 | 
						|
syn region rhelpS4method matchgroup=Delimiter start="\\S4method{.*}(" matchgroup=Delimiter transparent end=")" contains=@R,rhelpDots
 | 
						|
syn region rhelpSexpr matchgroup=Delimiter start="\\Sexpr{" matchgroup=Delimiter transparent end="}" contains=@R
 | 
						|
 | 
						|
" PreProc {{{1
 | 
						|
syn match rhelpPreProc "^#ifdef.*" 
 | 
						|
syn match rhelpPreProc "^#endif.*" 
 | 
						|
 | 
						|
" Special Delimiters {{{1
 | 
						|
syn match rhelpDelimiter		"\\cr"
 | 
						|
syn match rhelpDelimiter		"\\tab "
 | 
						|
 | 
						|
" Keywords {{{1
 | 
						|
syn match rhelpKeyword	"\\R"
 | 
						|
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 extend
 | 
						|
syn region rhelpLink matchgroup=rhelpSection start="\\link\[.\{-}\]{" end="}" contained keepend extend
 | 
						|
syn region rhelpLink matchgroup=rhelpSection start="\\linkS4class{" end="}" contained keepend extend
 | 
						|
 | 
						|
" Verbatim like {{{1
 | 
						|
if v:version > 703
 | 
						|
  syn region rhelpVerbatim matchgroup=rhelpType start="\\samp{" skip='\\\@1<!{.\{-}\\\@1<!}' end="}" contains=rhelpSpecialChar,rhelpComment
 | 
						|
  syn region rhelpVerbatim matchgroup=rhelpType start="\\verb{" skip='\\\@1<!{.\{-}\\\@1<!}' end="}" contains=rhelpSpecialChar,rhelpComment
 | 
						|
else
 | 
						|
  syn region rhelpVerbatim matchgroup=rhelpType start="\\samp{" skip='\\\@<!{.\{-}\\\@<!}' end="}" contains=rhelpSpecialChar,rhelpComment
 | 
						|
  syn region rhelpVerbatim matchgroup=rhelpType start="\\verb{" skip='\\\@<!{.\{-}\\\@<!}' end="}" contains=rhelpSpecialChar,rhelpComment
 | 
						|
endif
 | 
						|
 | 
						|
" 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		"\\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="}" 
 | 
						|
 | 
						|
syn match rhelpDelimiter "{\|\[\|(\|)\|\]\|}"
 | 
						|
 | 
						|
" R help file comments {{{1
 | 
						|
syn match rhelpComment /%.*$/
 | 
						|
 | 
						|
" Error {{{1
 | 
						|
syn region rhelpRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ contains=@Spell,rhelpCodeSpecial,rhelpComment,rhelpDelimiter,rhelpDots,rhelpFreesec,rhelpFreesubsec,rhelpIdentifier,rhelpKeyword,rhelpLink,rhelpPreProc,rhelpRComment,rhelpRcode,rhelpRegion,rhelpS4method,rhelpSection,rhelpSexpr,rhelpSpecialChar,rhelpString,rhelpType,rhelpVerbatim
 | 
						|
syn region rhelpRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ contains=@Spell,rhelpCodeSpecial,rhelpComment,rhelpDelimiter,rhelpDots,rhelpFreesec,rhelpFreesubsec,rhelpIdentifier,rhelpKeyword,rhelpLink,rhelpPreProc,rhelpRComment,rhelpRcode,rhelpRegion,rhelpS4method,rhelpSection,rhelpSexpr,rhelpSpecialChar,rhelpString,rhelpType,rhelpVerbatim
 | 
						|
syn region rhelpRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ contains=@Spell,rhelpCodeSpecial,rhelpComment,rhelpDelimiter,rhelpDots,rhelpFreesec,rhelpFreesubsec,rhelpIdentifier,rhelpKeyword,rhelpLink,rhelpPreProc,rhelpRComment,rhelpRcode,rhelpRegion,rhelpS4method,rhelpSection,rhelpSexpr,rhelpSpecialChar,rhelpString,rhelpType,rhelpVerbatim
 | 
						|
syn match rhelpError      /[)\]}]/
 | 
						|
syn match rhelpBraceError /[)}]/ contained
 | 
						|
syn match rhelpCurlyError /[)\]]/ contained
 | 
						|
syn match rhelpParenError /[\]}]/ contained
 | 
						|
 | 
						|
syntax sync match rhelpSyncRcode grouphere rhelpRcode "\\examples{"
 | 
						|
 | 
						|
" 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 rhelpVerbatim    String
 | 
						|
  HiLink rhelpDelimiter   Delimiter
 | 
						|
  HiLink rhelpIdentifier  Identifier
 | 
						|
  HiLink rhelpString      String
 | 
						|
  HiLink rhelpCodeSpecial Special
 | 
						|
  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 rhelpPreProc     PreProc
 | 
						|
  HiLink rhelpDelimiter   Delimiter
 | 
						|
  HiLink rhelpComment     Comment
 | 
						|
  HiLink rhelpRComment    Comment
 | 
						|
  HiLink rhelpSpecialChar SpecialChar
 | 
						|
  delcommand HiLink
 | 
						|
endif 
 | 
						|
 | 
						|
let   b:current_syntax = "rhelp"
 | 
						|
 | 
						|
" vim: foldmethod=marker sw=2
 |