mirror of
https://github.com/neovim/neovim.git
synced 2024-12-31 17:13:26 -07:00
a98a6996c2
Vim runtime files based on 7.4.384 / hg changeset 7090d7f160f7 Excluding: Amiga icons (*.info, icons/) doc/hangulin.txt tutor/ spell/ lang/ (only used for menu translations) macros/maze/, macros/hanoi/, macros/life/, macros/urm/ These were used to test vi compatibility. termcap "Demonstration of a termcap file (for the Amiga and Archimedes)" Helped-by: Rich Wareham <rjw57@cam.ac.uk> Helped-by: John <john.schmidt.h@gmail.com> Helped-by: Yann <yann@yann-salaun.com> Helped-by: Christophe Badoit <c.badoit@lesiteimmo.com> Helped-by: drasill <github@tof2k.com> Helped-by: Tae Sandoval Murgan <taecilla@gmail.com> Helped-by: Lowe Thiderman <lowe.thiderman@gmail.com>
225 lines
7.7 KiB
VimL
225 lines
7.7 KiB
VimL
" Vim syntax file
|
|
" Language: R (GNU S)
|
|
" Maintainer: Jakson Aquino <jalvesaq@gmail.com>
|
|
" Former Maintainers: Vaidotas Zemlys <zemlys@gmail.com>
|
|
" Tom Payne <tom@tompayne.org>
|
|
" Last Change: Wed Jul 09, 2014 10:29PM
|
|
" Filenames: *.R *.r *.Rhistory *.Rt
|
|
"
|
|
" NOTE: The highlighting of R functions is defined in the
|
|
" r-plugin/functions.vim, which is part of vim-r-plugin2:
|
|
" http://www.vim.org/scripts/script.php?script_id=2628
|
|
"
|
|
" CONFIGURATION:
|
|
" syntax folding can be turned on by
|
|
"
|
|
" let r_syntax_folding = 1
|
|
"
|
|
" Some lines of code were borrowed from Zhuojun Chen.
|
|
|
|
if exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
setlocal iskeyword=@,48-57,_,.
|
|
|
|
if exists("g:r_syntax_folding")
|
|
setlocal foldmethod=syntax
|
|
endif
|
|
|
|
syn case match
|
|
|
|
" Comment
|
|
syn match rCommentTodo contained "\(BUG\|FIXME\|NOTE\|TODO\):"
|
|
syn match rComment contains=@Spell,rCommentTodo "#.*"
|
|
|
|
" Roxygen
|
|
syn match rOKeyword contained "@\(param\|return\|name\|rdname\|examples\|include\|docType\)"
|
|
syn match rOKeyword contained "@\(S3method\|TODO\|aliases\|alias\|assignee\|author\|callGraphDepth\|callGraph\)"
|
|
syn match rOKeyword contained "@\(callGraphPrimitives\|concept\|exportClass\|exportMethod\|exportPattern\|export\|formals\)"
|
|
syn match rOKeyword contained "@\(format\|importClassesFrom\|importFrom\|importMethodsFrom\|import\|keywords\)"
|
|
syn match rOKeyword contained "@\(method\|noRd\|note\|references\|seealso\|setClass\|slot\|source\|title\|usage\)"
|
|
syn match rOKeyword contained "@\(family\|template\|templateVar\|description\|details\|inheritsParams\)"
|
|
syn match rOComment contains=@Spell,rOKeyword "#'.*"
|
|
|
|
|
|
if &filetype == "rhelp"
|
|
" string enclosed in double quotes
|
|
syn region rString contains=rSpecial,@Spell start=/"/ skip=/\\\\\|\\"/ end=/"/
|
|
" string enclosed in single quotes
|
|
syn region rString contains=rSpecial,@Spell start=/'/ skip=/\\\\\|\\'/ end=/'/
|
|
else
|
|
" string enclosed in double quotes
|
|
syn region rString contains=rSpecial,rStrError,@Spell start=/"/ skip=/\\\\\|\\"/ end=/"/
|
|
" string enclosed in single quotes
|
|
syn region rString contains=rSpecial,rStrError,@Spell start=/'/ skip=/\\\\\|\\'/ end=/'/
|
|
endif
|
|
|
|
syn match rStrError display contained "\\."
|
|
|
|
|
|
" New line, carriage return, tab, backspace, bell, feed, vertical tab, backslash
|
|
syn match rSpecial display contained "\\\(n\|r\|t\|b\|a\|f\|v\|'\|\"\)\|\\\\"
|
|
|
|
" Hexadecimal and Octal digits
|
|
syn match rSpecial display contained "\\\(x\x\{1,2}\|[0-8]\{1,3}\)"
|
|
|
|
" Unicode characters
|
|
syn match rSpecial display contained "\\u\x\{1,4}"
|
|
syn match rSpecial display contained "\\U\x\{1,8}"
|
|
syn match rSpecial display contained "\\u{\x\{1,4}}"
|
|
syn match rSpecial display contained "\\U{\x\{1,8}}"
|
|
|
|
" Statement
|
|
syn keyword rStatement break next return
|
|
syn keyword rConditional if else
|
|
syn keyword rRepeat for in repeat while
|
|
|
|
" Constant (not really)
|
|
syn keyword rConstant T F LETTERS letters month.abb month.name pi
|
|
syn keyword rConstant R.version.string
|
|
|
|
syn keyword rNumber NA_integer_ NA_real_ NA_complex_ NA_character_
|
|
|
|
" Constants
|
|
syn keyword rConstant NULL
|
|
syn keyword rBoolean FALSE TRUE
|
|
syn keyword rNumber NA Inf NaN
|
|
|
|
" integer
|
|
syn match rInteger "\<\d\+L"
|
|
syn match rInteger "\<0x\([0-9]\|[a-f]\|[A-F]\)\+L"
|
|
syn match rInteger "\<\d\+[Ee]+\=\d\+L"
|
|
|
|
" number with no fractional part or exponent
|
|
syn match rNumber "\<\d\+\>"
|
|
" hexadecimal number
|
|
syn match rNumber "\<0x\([0-9]\|[a-f]\|[A-F]\)\+"
|
|
|
|
" floating point number with integer and fractional parts and optional exponent
|
|
syn match rFloat "\<\d\+\.\d*\([Ee][-+]\=\d\+\)\="
|
|
" floating point number with no integer part and optional exponent
|
|
syn match rFloat "\<\.\d\+\([Ee][-+]\=\d\+\)\="
|
|
" floating point number with no fractional part and optional exponent
|
|
syn match rFloat "\<\d\+[Ee][-+]\=\d\+"
|
|
|
|
" complex number
|
|
syn match rComplex "\<\d\+i"
|
|
syn match rComplex "\<\d\++\d\+i"
|
|
syn match rComplex "\<0x\([0-9]\|[a-f]\|[A-F]\)\+i"
|
|
syn match rComplex "\<\d\+\.\d*\([Ee][-+]\=\d\+\)\=i"
|
|
syn match rComplex "\<\.\d\+\([Ee][-+]\=\d\+\)\=i"
|
|
syn match rComplex "\<\d\+[Ee][-+]\=\d\+i"
|
|
|
|
syn match rOperator "&"
|
|
syn match rOperator '-'
|
|
syn match rOperator '\*'
|
|
syn match rOperator '+'
|
|
syn match rOperator '='
|
|
if &filetype != "rmd" && &filetype != "rrst"
|
|
syn match rOperator "[|!<>^~/:]"
|
|
else
|
|
syn match rOperator "[|!<>^~`/:]"
|
|
endif
|
|
syn match rOperator "%\{2}\|%\S\{-}%"
|
|
syn match rOpError '\*\{3}'
|
|
syn match rOpError '//'
|
|
syn match rOpError '&&&'
|
|
syn match rOpError '|||'
|
|
syn match rOpError '<<'
|
|
syn match rOpError '>>'
|
|
|
|
syn match rArrow "<\{1,2}-"
|
|
syn match rArrow "->\{1,2}"
|
|
|
|
" Special
|
|
syn match rDelimiter "[,;:]"
|
|
|
|
" Error
|
|
if exists("g:r_syntax_folding")
|
|
syn region rRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError fold
|
|
syn region rRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError fold
|
|
syn region rRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rError,rCurlyError,rParenError fold
|
|
else
|
|
syn region rRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError
|
|
syn region rRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError
|
|
syn region rRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rError,rCurlyError,rParenError
|
|
endif
|
|
|
|
syn match rError "[)\]}]"
|
|
syn match rBraceError "[)}]" contained
|
|
syn match rCurlyError "[)\]]" contained
|
|
syn match rParenError "[\]}]" contained
|
|
|
|
" Source list of R functions. The list is produced by the Vim-R-plugin
|
|
" http://www.vim.org/scripts/script.php?script_id=2628
|
|
runtime r-plugin/functions.vim
|
|
|
|
syn match rDollar display contained "\$"
|
|
syn match rDollar display contained "@"
|
|
|
|
" List elements will not be highlighted as functions:
|
|
syn match rLstElmt "\$[a-zA-Z0-9\\._]*" contains=rDollar
|
|
syn match rLstElmt "@[a-zA-Z0-9\\._]*" contains=rDollar
|
|
|
|
" Functions that may add new objects
|
|
syn keyword rPreProc library require attach detach source
|
|
|
|
if &filetype == "rhelp"
|
|
syn match rHelpIdent '\\method'
|
|
syn match rHelpIdent '\\S4method'
|
|
endif
|
|
|
|
" Type
|
|
syn keyword rType array category character complex double function integer list logical matrix numeric vector data.frame
|
|
|
|
" Name of object with spaces
|
|
if &filetype != "rmd" && &filetype != "rrst"
|
|
syn region rNameWSpace start="`" end="`"
|
|
endif
|
|
|
|
if &filetype == "rhelp"
|
|
syn match rhPreProc "^#ifdef.*"
|
|
syn match rhPreProc "^#endif.*"
|
|
syn match rhSection "\\dontrun\>"
|
|
endif
|
|
|
|
" Define the default highlighting.
|
|
hi def link rArrow Statement
|
|
hi def link rBoolean Boolean
|
|
hi def link rBraceError Error
|
|
hi def link rComment Comment
|
|
hi def link rCommentTodo Todo
|
|
hi def link rOComment Comment
|
|
hi def link rComplex Number
|
|
hi def link rConditional Conditional
|
|
hi def link rConstant Constant
|
|
hi def link rCurlyError Error
|
|
hi def link rDelimiter Delimiter
|
|
hi def link rDollar SpecialChar
|
|
hi def link rError Error
|
|
hi def link rFloat Float
|
|
hi def link rFunction Function
|
|
hi def link rHelpIdent Identifier
|
|
hi def link rhPreProc PreProc
|
|
hi def link rhSection PreCondit
|
|
hi def link rInteger Number
|
|
hi def link rLstElmt Normal
|
|
hi def link rNameWSpace Normal
|
|
hi def link rNumber Number
|
|
hi def link rOperator Operator
|
|
hi def link rOpError Error
|
|
hi def link rParenError Error
|
|
hi def link rPreProc PreProc
|
|
hi def link rRepeat Repeat
|
|
hi def link rSpecial SpecialChar
|
|
hi def link rStatement Statement
|
|
hi def link rString String
|
|
hi def link rStrError Error
|
|
hi def link rType Type
|
|
hi def link rOKeyword Title
|
|
|
|
let b:current_syntax="r"
|
|
|
|
" vim: ts=8 sw=2
|