diff options
Diffstat (limited to 'runtime/queries/r/highlights.scm')
| -rw-r--r-- | runtime/queries/r/highlights.scm | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/runtime/queries/r/highlights.scm b/runtime/queries/r/highlights.scm new file mode 100644 index 000000000..c849dd838 --- /dev/null +++ b/runtime/queries/r/highlights.scm @@ -0,0 +1,148 @@ +; 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 |
