WIP: Add indentation queries for multi-value 'select'
Some checks failed
ci/woodpecker/push/check Pipeline failed

FIXME: add insertion tests for both cases...
This commit is contained in:
Bruno BELANYI 2024-04-23 16:36:11 +00:00
parent 6b2ecc78ac
commit 06b56a07b0
3 changed files with 50 additions and 0 deletions

View file

@ -11,6 +11,15 @@
(select_expression
")" @indent.branch)
(select_value) @indent.begin
(select_value
")" @indent.branch)
; (select_pattern
; "(" @indent.begin)
; (select_pattern
; ")" @indent.branch)
(select_cases) @indent.begin
(select_cases
"}" @indent.branch)

View file

@ -26,3 +26,35 @@ foo = select(
default: 0,
}
)
foo = select((
arch(),
os(),
), {
(default, default): [],
})
foo = select(
(arch(), os()),
{
(default, default): [],
}
)
// We're really getting into more and more unlikely choices here...
foo = select(
(
arch(),
os(),
),
{
(default, default): [],
}
)
foo = select((arch(), os()), {
(
default,
default,
): [],
})

View file

@ -47,5 +47,14 @@ describe("indent Blueprint:", function()
runner:new_line("test/indent/select.bp", { on_line = 26, text = 'default: "value"', indent = 8 }, "default case, trailing, alternate formatting")
runner:new_line("test/indent/select.bp", { on_line = 26, text = '}', indent = 4 }, "select cases closing delimiter, alternate formatting")
runner:new_line("test/indent/select.bp", { on_line = 27, text = ')', indent = 0 }, "select expression closing delimiter, alternate formatting")
runner:new_line("test/indent/select.bp", { on_line = 30, text = 'device()', indent = 4 }, "multi-valued select condition, begin")
runner:new_line("test/indent/select.bp", { on_line = 31, text = 'device()', indent = 4 }, "multi-valued select condition, middle")
runner:new_line("test/indent/select.bp", { on_line = 32, text = 'device()', indent = 4 }, "multi-valued select condition, end")
runner:new_line("test/indent/select.bp", { on_line = 46, text = 'device()', indent = 8 }, "multi-valued select condition, begin, alternate formatting")
runner:new_line("test/indent/select.bp", { on_line = 47, text = 'device()', indent = 8 }, "multi-valued select condition, middle, alternate formatting")
runner:new_line("test/indent/select.bp", { on_line = 48, text = 'device()', indent = 8 }, "multi-valued select condition, end, alternate formatting")
runner:new_line("test/indent/select.bp", { on_line = 56, text = 'default,', indent = 8 }, "multi-valued select case, begin")
runner:new_line("test/indent/select.bp", { on_line = 57, text = 'default,', indent = 8 }, "multi-valued select case, middle")
runner:new_line("test/indent/select.bp", { on_line = 58, text = 'default,', indent = 8 }, "multi-valued select case, end")
end)
end)