1
Files
flake-nixinator/config/neovim/store/nvim-treesitter/queries/r/highlights.scm

149 lines
1.7 KiB
Scheme

; Literals
(integer) @number
(float) @number.float
(complex) @number
(string) @string
(string
(string_content
(escape_sequence) @string.escape))
; Comments
(comment) @comment @spell
((program
.
(comment) @keyword.directive @nospell)
(#lua-match? @keyword.directive "^#!/"))
; Operators
[
"?"
":="
"="
"<-"
"<<-"
"->"
"->>"
"~"
"|>"
"||"
"|"
"&&"
"&"
"<"
"<="
">"
">="
"=="
"!="
"+"
"-"
"*"
"/"
"::"
":::"
"**"
"^"
"$"
"@"
":"
"!"
"special"
] @operator
; Punctuation
[
"("
")"
"{"
"}"
"["
"]"
"[["
"]]"
] @punctuation.bracket
(comma) @punctuation.delimiter
; Variables
(identifier) @variable
; Functions
(binary_operator
lhs: (identifier) @function
operator: "<-"
rhs: (function_definition))
(binary_operator
lhs: (identifier) @function
operator: "="
rhs: (function_definition))
; Calls
(call
function: (identifier) @function.call)
(extract_operator
rhs: (identifier) @variable.member)
function: (extract_operator
rhs: (identifier) @function.method.call)
; Parameters
(parameters
(parameter
name: (identifier) @variable.parameter))
(arguments
(argument
name: (identifier) @variable.parameter))
; Namespace
(namespace_operator
lhs: (identifier) @module)
(call
function: (namespace_operator
rhs: (identifier) @function))
; Keywords
(function_definition
name: "function" @keyword.function)
(function_definition
name: "\\" @operator)
(return) @keyword.return
[
"if"
"else"
] @keyword.conditional
[
"while"
"repeat"
"for"
"in"
(break)
(next)
] @keyword.repeat
[
(true)
(false)
] @boolean
[
(null)
(inf)
(nan)
(na)
(dots)
(dot_dot_i)
] @constant.builtin