define ( "vs/basic-languages/src/r" , [ "require" , "exports" ] , function ( e , o ) { o . conf = { comments : { lineComment : "#" } , brackets : [ [ "{" , "}" ] , [ "[" , "]" ] , [ "(" , ")" ] ] , autoClosingPairs : [ { open : '"' , close : '"' , notIn : [ "string" , "comment" ] } , { open : "'" , close : "'" , notIn : [ "string" , "comment" ] } , { open : "{" , close : "}" , notIn : [ "string" , "comment" ] } , { open : "[" , close : "]" , notIn : [ "string" , "comment" ] } , { open : "(" , close : ")" , notIn : [ "string" , "comment" ] } ] } , o . language = { defaultToken : "" , tokenPostfix : ".r" , roxygen : [ "@param" , "@return" , "@name" , "@rdname" , "@examples" , "@include" , "@docType" , "@S3method" , "@TODO" , "@aliases" , "@alias" , "@assignee" , "@author" , "@callGraphDepth" , "@callGraph" , "@callGraphPrimitives" , "@concept" , "@exportClass" , "@exportMethod" , "@exportPattern" , "@export" , "@formals" , "@format" , "@importClassesFrom" , "@importFrom" , "@importMethodsFrom" , "@import" , "@keywords" , "@method" , "@nord" , "@note" , "@references" , "@seealso" , "@setClass" , "@slot" , "@source" , "@title" , "@usage" ] , constants : [ "NULL" , "FALSE" , "TRUE" , "NA" , "Inf" , "NaN " , "NA_integer_" , "NA_real_" , "NA_complex_" , "NA_character_ " , "T" , "F" , "LETTERS" , "letters" , "month.abb" , "month.name" , "pi" , "R.version.string" ] , keywords : [ "break" , "next" , "return" , "if" , "else" , "for" , "in" , "repeat" , "while" , "array" , "category" , "character" , "complex" , "double" , "function" , "integer" , "list" , "logical" , "matrix" , "numeric" , "vector" , "data.frame" , "factor" , "library" , "require" , "attach" , "detach" , "source" ] , special : [ "\\n" , "\\r" , "\\t" , "\\b" , "\\a" , "\\f" , "\\v" , "\\'" , '\\"' , "\\\\" ] , brackets : [ { open : "{" , close : "}" , token : "delimiter.curly" } , { open : "[" , close : "]" , token : "delimiter.bracket" } , { open : "(" , close : ")" , token : "delimiter.parenthesis" } ] , tokenizer : { root : [ { include : "@numbers" } , { include : "@strings" } , [ /[{}\[\]()]/ , "@brackets" ] , { include : "@operators" } , [ /#'/ , "comment.doc" , "@roxygen" ] , [ /(^#.*$)/ , "comment" ] , [ /\s+/ , "white" ] , [ /[,:;]/ , "delimiter" ] , [ /@[a-zA-Z]\w*/ , "tag" ] , [ /[a-zA-Z]\w*/ , { cases : { "@keywords" : "keyword" , "@constants" : "constant" , "@default" : "identifier" } } ] ] , roxygen : [ [ /@\w+/ , { cases : { "@roxygen" : "tag" , "@eos" : { token : "comment.doc" , next : "@pop" } , "@default" : "comment.doc" } } ] , [ /\s+/ , { cases : { "@eos" : { token : "comment.doc" , next : "@pop" } , "@default" : "comment.doc" } } ] , [ /.*/ , { token : "comment.doc" , next : "@pop" } ] ] , numbers : [ [ /-?(\d*\.)?\d+([eE][+\-]?\d+)?/ , "number" ] ] , operators : [ [ /<{1,2}-/ , "operator" ] , [ /->{1,2}/ , "operator" ] , [ /%[^%\s]+%/ , "operator" ] , [ /\*\*/ , "operator" ] , [ /%%/ , "operator" ] , [ /&&/ , "operator" ] , [ /\|\|/ , "operator" ] , [ /<</ , "operator" ] , [ />>/ , "operator" ] , [ /[-+=&|!<>^~*\/:$]/ , "operator" ] ] , strings : [ [ /'/ , "string.escape" , "@stringBody" ] , [ /"/ , "string.escape" , "@dblStringBody" ] ] , stringBody : [ [ /\\./ , { cases : { "@special" : "string" , "@default" : "error-token" } } ] , [ /'/ , "string.escape" , "@popall" ] , [ /./ , "string" ] ] , dblStringBody : [ [ /\\./ , { cases : { "@special" : "string" , "@default" : "error-token" } } ] , [ /"/ , "string.escape" , "@popall" ] , [ /./ , "string" ] ] } } ; } ) ;