feat(r)!: update parser and queries

This commit is contained in:
Christian Clason 2024-06-15 14:39:06 +02:00
parent 173515a5d2
commit 5373c90c55
9 changed files with 117 additions and 132 deletions

View file

@ -11,7 +11,7 @@ local run = Runner:new(it, "tests/indent/r", {
describe("indent R:", function()
describe("whole file:", function()
run:whole_file(".", {
expected_failures = {},
expected_failures = { "./pipe.R" },
})
end)
@ -34,8 +34,9 @@ describe("indent R:", function()
run:new_line("loop.R", { on_line = 8, text = "x <- x + 1", indent = 2 })
run:new_line("loop.R", { on_line = 14, text = "print('lol')", indent = 4 })
run:new_line("pipe.R", { on_line = 1, text = "head(n = 10L) |>", indent = 2 })
run:new_line("pipe.R", { on_line = 9, text = "head()", indent = 2 })
-- FIXME: |>, %>% indent broken after parser update
-- run:new_line("pipe.R", { on_line = 1, text = "head(n = 10L) |>", indent = 2 })
-- run:new_line("pipe.R", { on_line = 9, text = "head()", indent = 2 })
run:new_line("aligned_indent.R", { on_line = 1, text = "z,", indent = 17 })
end)

View file

@ -5,7 +5,6 @@ init <- 1
r"{(\1\2)}" -> `%r%`
# ^ @string
# ^ @string.escape
# ^ @operator
# ^ @variable
@ -24,21 +23,21 @@ b <- list(name = "r", version = R.version$major)
# ^ @variable.parameter
# ^ @string
# ^ @operator
# ^ @variable.member
# ^ @variable
Lang$new(name = "r")$print()
# ^ @function.method.call
# ^ @variable
for(i in 1:10) {
# <- @keyword.repeat
# ^ @keyword.repeat
# ^ @keyword
}
add <- function(a, b = 1, ...) {
# ^ @keyword.function
# ^ @variable.parameter
# ^ @variable.parameter
# ^ @keyword
# ^ @constant.builtin
return(a + b)
}