You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note that it is currently listed as a scoped package under the name @davisvaughan/tree-sitter-r.
We are working with the npm team to gain ownership of the tree-sitter-r package.
Once that happens, we will move the npm package there instead.
This section describes known deviations from the R grammar.
]] as a literal token
The following is valid R syntax, note how ]] has been split over multiple lines.
x[["a"]
]
This applies to ]], but not to [[, for example, this is not valid R syntax:
x[
["a"]]
The technical reason for this is that in the grammar R treats [[ as a single token, but ]] is treated as two individual ] tokens.
Treating ]] as two individual ] tokens allows whitespace, newlines, and even comments to appear between the two ] tokens:
x[["a"] # comment
]
While we'd like to precisely support the R grammar, it is also extremely useful to treat all of (, ), [, ], [[, and ]] as literal tokens when using the tree-sitter grammar.
This allows you to treat call, subset, and subset2 nodes in the same way, since they all have exactly the same node structure.
Because treating ]] as a literal token is so useful, and because we've never seen any R code "in the wild" written this way, this grammar does not allow whitespace, newlines, or comments between the two ] tokens.