{"name":"R","scopeName":"source.r","patterns":[{"name":"comment.line.pragma-mark.r","match":"^(#pragma[ \\t]+mark)[ \\t](.*)","captures":{"1":{"name":"comment.line.pragma.r"},"2":{"name":"entity.name.pragma.name.r"}}},{"begin":"(^[ \\t]+)?(?=#)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.r","begin":"#","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.r"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.r"}}},{"name":"storage.type.r","match":"\\b(logical|numeric|character|complex|matrix|array|data\\.frame|list|factor)(?=\\s*\\()"},{"name":"keyword.control.r","match":"\\b(function|if|break|next|repeat|else|for|return|switch|while|in|invisible)\\b"},{"name":"constant.numeric.r","match":"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(i|L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{"name":"constant.language.r","match":"\\b(T|F|TRUE|FALSE|NULL|NA|Inf|NaN)\\b"},{"name":"support.constant.misc.r","match":"\\b(pi|letters|LETTERS|month\\.abb|month\\.name)\\b"},{"name":"keyword.operator.arithmetic.r","match":"(\\-|\\+|\\*|\\/|%\\/%|%%|%\\*%|%in%|%o%|%x%|\\^)"},{"name":"keyword.operator.assignment.r","match":"(=|\u003c-|\u003c\u003c-|-\u003e|-\u003e\u003e)"},{"name":"keyword.operator.comparison.r","match":"(==|!=|\u003c\u003e|\u003c|\u003e|\u003c=|\u003e=)"},{"name":"keyword.operator.logical.r","match":"(!|\u0026{1,2}|[|]{1,2})"},{"name":"keyword.other.r","match":"(\\.\\.\\.|\\$|@|:|\\~)"},{"name":"string.quoted.double.r","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.r","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.r"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.r"}}},{"name":"string.quoted.single.r","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.r","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.r"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.r"}}},{"name":"meta.function.r","match":"((?:`[^`\\\\]*(?:\\\\.[^`\\\\]*)*`)|(?:[[:alpha:].][[:alnum:]._]*))\\s*(\u003c?\u003c-|=(?!=))\\s*(function)","captures":{"1":{"name":"entity.name.function.r"},"2":{"name":"keyword.operator.assignment.r"},"3":{"name":"keyword.control.r"}}},{"name":"meta.method.declaration.r","match":"(setMethod|setReplaceMethod|setGeneric|setGroupGeneric|setClass)\\s*\\(\\s*([[:alpha:]\\d]+\\s*=\\s*)?(\"|\\x{27})([a-zA-Z._\\[\\$@][a-zA-Z0-9._\\[]*?)\\3.*","captures":{"1":{"name":"entity.name.tag.r"},"4":{"name":"entity.name.type.r"}}},{"match":"((?:`[^`\\\\]*(?:\\\\.[^`\\\\]*)*`)|(?:[[:alpha:].][[:alnum:]._]*))\\s*\\("},{"match":"([[:alpha:].][[:alnum:]._]*)\\s*(=(?!=))","captures":{"1":{"name":"variable.parameter.r"},"2":{"name":"keyword.operator.assignment.r"}}},{"name":"invalid.illegal.variable.other.r","match":"\\b([\\d_][[:alnum:]._]+)\\b"},{"name":"entity.namespace.r","match":"\\b([[:alnum:]_]+)(?=::)"},{"name":"variable.other.r","match":"((?:`[^`\\\\]*(?:\\\\.[^`\\\\]*)*`)|(?:[[:alpha:].][[:alnum:]._]*))"},{"name":"meta.block.r","begin":"\\{","end":"\\}","patterns":[{"include":"source.r"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.r"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.r"}}}]}
