mirror of
				https://github.com/vim/vim.git
				synced 2025-10-31 09:57:14 -04: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
 |