nvim-treesitter/tests/indent/terraform_spec.lua
Michael Hoffmann ee3e9f4dc0 feat(hcl,terraform): split terraform from hcl, add specialized queries for tf
This enables us to have different queries for
terraform and general hcl. It solve the situation
where other dialects of hcl (nomad, packer, etc)
might use a terraform keyword and get highlighted
out of place.
2022-12-29 22:18:41 +01:00

35 lines
1.9 KiB
Lua

local Runner = require("tests.indent.common").Runner
--local XFAIL = require("tests.indent.common").XFAIL
local run = Runner:new(it, "tests/indent/terraform", {
tabstop = 2,
shiftwidth = 2,
expandtab = true,
})
describe("indent Terraform:", function()
describe("whole file:", function()
run:whole_file(".", {
expected_failures = {},
})
end)
describe("new line:", function()
run:new_line("no-indent-after-brace.tf", { on_line = 4, text = "# Wow, no indent here please", indent = 0 })
run:new_line("indent-in-multiline-tuples.tf", { on_line = 4, text = "3,", indent = 4 })
run:new_line("indent-in-multiline-tuples.tf", { on_line = 3, text = "# as elements", indent = 4 })
run:new_line("indent-in-multiline-tuples.tf", { on_line = 5, text = "# as outer block", indent = 2 })
run:new_line("indent-in-multiline-tuples.tf", { on_line = 1, text = "# as outer block", indent = 2 })
run:new_line("indent-in-multiline-objects.tf", { on_line = 4, text = '3: "baz",', indent = 4 })
run:new_line("indent-in-multiline-objects.tf", { on_line = 3, text = "# as elements", indent = 4 })
run:new_line("indent-in-multiline-objects.tf", { on_line = 5, text = "# as outer block", indent = 2 })
run:new_line("indent-in-multiline-objects.tf", { on_line = 1, text = "# as outer block", indent = 2 })
run:new_line("multiple-attributes.tf", { on_line = 2, text = "a = 1", indent = 2 })
run:new_line("multiple-attributes.tf", { on_line = 3, text = "a = 1", indent = 2 })
run:new_line("multiple-attributes.tf", { on_line = 4, text = "a = 1", indent = 0 })
run:new_line("nested_blocks.tf", { on_line = 3, text = "a = 1", indent = 4 })
run:new_line("nested_blocks.tf", { on_line = 4, text = "a = 1", indent = 2 })
run:new_line("function_call.tf", { on_line = 4, text = "c,", indent = 4 })
run:new_line("function_call.tf", { on_line = 5, text = "a = 1", indent = 2 })
end)
end)