summaryrefslogtreecommitdiffstats
path: root/syntax/r.vim
diff options
context:
space:
mode:
Diffstat (limited to 'syntax/r.vim')
-rw-r--r--syntax/r.vim378
1 files changed, 0 insertions, 378 deletions
diff --git a/syntax/r.vim b/syntax/r.vim
deleted file mode 100644
index 3970d065..00000000
--- a/syntax/r.vim
+++ /dev/null
@@ -1,378 +0,0 @@
-if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1
-
-" 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>
-" Contributor: Johannes Ranke <jranke@uni-bremen.de>
-" Homepage: https://github.com/jalvesaq/R-Vim-runtime
-" Last Change: Sat Apr 08, 2017 07:01PM
-" Filenames: *.R *.r *.Rhistory *.Rt
-"
-" NOTE: The highlighting of R functions might be defined in
-" runtime files created by a filetype plugin, if installed.
-"
-" CONFIGURATION:
-" Syntax folding can be turned on by
-"
-" let r_syntax_folding = 1
-"
-" ROxygen highlighting can be turned off by
-"
-" let r_syntax_hl_roxygen = 0
-"
-" Some lines of code were borrowed from Zhuojun Chen.
-
-if exists("b:current_syntax")
- finish
-endif
-
-if has("patch-7.4.1142")
- syn iskeyword @,48-57,_,.
-else
- setlocal iskeyword=@,48-57,_,.
-endif
-
-" The variables g:r_hl_roxygen and g:r_syn_minlines were renamed on April 8, 2017.
-if exists("g:r_hl_roxygen")
- let g:r_syntax_hl_roxygen = g:r_hl_roxygen
-endif
-if exists("g:r_syn_minlines")
- let g:r_syntax_minlines = g:r_syn_minlines
-endif
-
-if exists("g:r_syntax_folding") && g:r_syntax_folding
- setlocal foldmethod=syntax
-endif
-if !exists("g:r_syntax_hl_roxygen")
- let g:r_syntax_hl_roxygen = 1
-endif
-
-syn case match
-
-" Comment
-syn match rCommentTodo contained "\(BUG\|FIXME\|NOTE\|TODO\):"
-syn match rComment contains=@Spell,rCommentTodo,rOBlock "#.*"
-
-" Roxygen
-if g:r_syntax_hl_roxygen
- " A roxygen block can start at the beginning of a file (first version) and
- " after a blank line (second version). It ends when a line that does not
- " contain a roxygen comment. In the following comments, any line containing
- " a roxygen comment marker (one or two hash signs # followed by a single
- " quote ' and preceded only by whitespace) is called a roxygen line. A
- " roxygen line containing only a roxygen comment marker, optionally followed
- " by whitespace is called an empty roxygen line.
-
- " First we match all roxygen blocks as containing only a title. In case an
- " empty roxygen line ending the title or a tag is found, this will be
- " overriden later by the definitions of rOBlock.
- syn match rOTitleBlock "\%^\(\s*#\{1,2}' .*\n\)\{1,}" contains=rOCommentKey,rOTitleTag
- syn match rOTitleBlock "^\s*\n\(\s*#\{1,2}' .*\n\)\{1,}" contains=rOCommentKey,rOTitleTag
-
- " When a roxygen block has a title and additional content, the title
- " consists of one or more roxygen lines (as little as possible are matched),
- " followed either by an empty roxygen line
- syn region rOBlock start="\%^\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*$" end="^\s*\(#\{1,2}'\)\@!" contains=rOTitle,rOTag,rOExamples,@Spell keepend fold
- syn region rOBlock start="^\s*\n\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*$" end="^\s*\(#\{1,2}'\)\@!" contains=rOTitle,rOTag,rOExamples,@Spell keepend fold
-
- " or by a roxygen tag (we match everything starting with @ but not @@ which is used as escape sequence for a literal @).
- syn region rOBlock start="\%^\(\s*#\{1,2}' .*\n\)\{-}\s*#\{1,2}' @\(@\)\@!" end="^\s*\(#\{1,2}'\)\@!" contains=rOTitle,rOTag,rOExamples,@Spell keepend fold
- syn region rOBlock start="^\s*\n\(\s*#\{1,2}' .*\n\)\{-}\s*#\{1,2}' @\(@\)\@!" end="^\s*\(#\{1,2}'\)\@!" contains=rOTitle,rOTag,rOExamples,@Spell keepend fold
-
- " If a block contains an @rdname, @describeIn tag, it may have paragraph breaks, but does not have a title
- syn region rOBlockNoTitle start="\%^\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*\n\(\s*#\{1,2}'.*\n\)\{-}\s*#\{1,2}' @rdname" end="^\s*\(#\{1,2}'\)\@!" contains=rOTag,rOExamples,@Spell keepend fold
- syn region rOBlockNoTitle start="^\s*\n\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*\n\(\s*#\{1,2}'.*\n\)\{-}\s*#\{1,2}' @rdname" end="^\s*\(#\{1,2}'\)\@!" contains=rOTag,rOExamples,@Spell keepend fold
- syn region rOBlockNoTitle start="\%^\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*\n\(\s*#\{1,2}'.*\n\)\{-}\s*#\{1,2}' @describeIn" end="^\s*\(#\{1,2}'\)\@!" contains=rOTag,rOExamples,@Spell keepend fold
- syn region rOBlockNoTitle start="^\s*\n\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*\n\(\s*#\{1,2}'.*\n\)\{-}\s*#\{1,2}' @describeIn" end="^\s*\(#\{1,2}'\)\@!" contains=rOTag,rOExamples,@Spell keepend fold
-
- " A title as part of a block is always at the beginning of the block, i.e.
- " either at the start of a file or after a completely empty line.
- syn match rOTitle "\%^\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*$" contained contains=rOCommentKey,rOTitleTag
- syn match rOTitle "^\s*\n\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*$" contained contains=rOCommentKey,rOTitleTag
- syn match rOTitleTag contained "@title"
-
- syn match rOCommentKey "#\{1,2}'" contained
- syn region rOExamples start="^#\{1,2}' @examples.*"rs=e+1,hs=e+1 end="^\(#\{1,2}' @.*\)\@=" end="^\(#\{1,2}'\)\@!" contained contains=rOTag fold
-
- " rOTag list generated from the lists in
- " https://github.com/klutometis/roxygen/R/rd.R and
- " https://github.com/klutometis/roxygen/R/namespace.R
- " using s/^ \([A-Za-z0-9]*\) = .*/ syn match rOTag contained "@\1"/
- " Plus we need the @include tag
-
- " rd.R
- syn match rOTag contained "@aliases"
- syn match rOTag contained "@author"
- syn match rOTag contained "@backref"
- syn match rOTag contained "@concept"
- syn match rOTag contained "@describeIn"
- syn match rOTag contained "@description"
- syn match rOTag contained "@details"
- syn match rOTag contained "@docType"
- syn match rOTag contained "@encoding"
- syn match rOTag contained "@evalRd"
- syn match rOTag contained "@example"
- syn match rOTag contained "@examples"
- syn match rOTag contained "@family"
- syn match rOTag contained "@field"
- syn match rOTag contained "@format"
- syn match rOTag contained "@inherit"
- syn match rOTag contained "@inheritParams"
- syn match rOTag contained "@inheritDotParams"
- syn match rOTag contained "@inheritSection"
- syn match rOTag contained "@keywords"
- syn match rOTag contained "@method"
- syn match rOTag contained "@name"
- syn match rOTag contained "@md"
- syn match rOTag contained "@noMd"
- syn match rOTag contained "@noRd"
- syn match rOTag contained "@note"
- syn match rOTag contained "@param"
- syn match rOTag contained "@rdname"
- syn match rOTag contained "@rawRd"
- syn match rOTag contained "@references"
- syn match rOTag contained "@return"
- syn match rOTag contained "@section"
- syn match rOTag contained "@seealso"
- syn match rOTag contained "@slot"
- syn match rOTag contained "@source"
- syn match rOTag contained "@template"
- syn match rOTag contained "@templateVar"
- syn match rOTag contained "@title"
- syn match rOTag contained "@usage"
- " namespace.R
- syn match rOTag contained "@export"
- syn match rOTag contained "@exportClass"
- syn match rOTag contained "@exportMethod"
- syn match rOTag contained "@exportPattern"
- syn match rOTag contained "@import"
- syn match rOTag contained "@importClassesFrom"
- syn match rOTag contained "@importFrom"
- syn match rOTag contained "@importMethodsFrom"
- syn match rOTag contained "@rawNamespace"
- syn match rOTag contained "@S3method"
- syn match rOTag contained "@useDynLib"
- " other
- syn match rOTag contained "@include"
-endif
-
-
-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 rAssign '='
-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 rOperator '\([!><]\)\@<=='
-syn match rOperator '=='
-syn match rOpError '\*\{3}'
-syn match rOpError '//'
-syn match rOpError '&&&'
-syn match rOpError '|||'
-syn match rOpError '<<'
-syn match rOpError '>>'
-
-syn match rAssign "<\{1,2}-"
-syn match rAssign "->\{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
-
-" Use Nvim-R to highlight functions dynamically if it is installed
-if !exists("g:r_syntax_fun_pattern")
- let s:ff = split(substitute(globpath(&rtp, "R/functions.vim"), "functions.vim", "", "g"), "\n")
- if len(s:ff) > 0
- let g:r_syntax_fun_pattern = 0
- else
- let g:r_syntax_fun_pattern = 1
- endif
-endif
-
-" Only use Nvim-R to highlight functions if they should not be highlighted
-" according to a generic pattern
-if g:r_syntax_fun_pattern == 1
- syn match rFunction '[0-9a-zA-Z_\.]\+\s*\ze('
-else
- if !exists("g:R_hi_fun")
- let g:R_hi_fun = 1
- endif
- if g:R_hi_fun
- " Nvim-R:
- runtime R/functions.vim
- endif
-endif
-
-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
-
-if exists("r_syntax_minlines")
- exe "syn sync minlines=" . r_syntax_minlines
-else
- syn sync minlines=40
-endif
-
-" Define the default highlighting.
-hi def link rAssign Statement
-hi def link rBoolean Boolean
-hi def link rBraceError Error
-hi def link rComment Comment
-hi def link rCommentTodo Todo
-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
-if g:r_syntax_hl_roxygen
- hi def link rOTitleTag Operator
- hi def link rOTag Operator
- hi def link rOTitleBlock Title
- hi def link rOBlock Comment
- hi def link rOBlockNoTitle Comment
- hi def link rOTitle Title
- hi def link rOCommentKey Comment
- hi def link rOExamples SpecialComment
-endif
-
-let b:current_syntax="r"
-
-" vim: ts=8 sw=2
-
-endif