aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--queries/nickel/indents.scm13
-rw-r--r--scripts/minimal_init.lua1
-rw-r--r--tests/indent/nickel/indent-newline.ncl9
-rw-r--r--tests/indent/nickel_spec.lua24
4 files changed, 47 insertions, 0 deletions
diff --git a/queries/nickel/indents.scm b/queries/nickel/indents.scm
new file mode 100644
index 000000000..23e779bb1
--- /dev/null
+++ b/queries/nickel/indents.scm
@@ -0,0 +1,13 @@
+[
+ (term)
+] @indent.begin
+
+[
+ "]"
+ "}"
+] @indent.branch
+
+[
+ "]"
+ "}"
+] @indent.end
diff --git a/scripts/minimal_init.lua b/scripts/minimal_init.lua
index f1ffe3dfe..e47b6701a 100644
--- a/scripts/minimal_init.lua
+++ b/scripts/minimal_init.lua
@@ -4,6 +4,7 @@ vim.cmd [[runtime! plugin/nvim-treesitter.lua]]
vim.cmd [[au BufRead,BufNewFile *.conf set filetype=hocon]]
vim.cmd [[au BufRead,BufNewFile *.gleam set filetype=gleam]]
+vim.cmd [[au BufRead,BufNewFile *.ncl set filetype=nickel]]
vim.o.swapfile = false
vim.bo.swapfile = false
diff --git a/tests/indent/nickel/indent-newline.ncl b/tests/indent/nickel/indent-newline.ncl
new file mode 100644
index 000000000..c9813ea2d
--- /dev/null
+++ b/tests/indent/nickel/indent-newline.ncl
@@ -0,0 +1,9 @@
+{
+ key1 = 1,
+ key2 = [
+ 2
+ ],
+ key3 = {
+ key4 = 4
+ }
+}
diff --git a/tests/indent/nickel_spec.lua b/tests/indent/nickel_spec.lua
new file mode 100644
index 000000000..01d3c3d17
--- /dev/null
+++ b/tests/indent/nickel_spec.lua
@@ -0,0 +1,24 @@
+local Runner = require("tests.indent.common").Runner
+
+local run = Runner:new(it, "tests/indent/nickel", {
+ shiftwidth = 2,
+ expandtab = true,
+})
+
+describe("indent Nickel:", function()
+ describe("whole file:", function()
+ run:whole_file(".", {
+ expected_failures = {},
+ })
+ end)
+
+ describe("new line:", function()
+ run:new_line("indent-newline.ncl", { on_line = 1, text = "stmt", indent = 2 })
+ run:new_line("indent-newline.ncl", { on_line = 2, text = "stmt", indent = 2 })
+ run:new_line("indent-newline.ncl", { on_line = 3, text = "stmt", indent = 4 })
+ run:new_line("indent-newline.ncl", { on_line = 4, text = "]", indent = 2 })
+ run:new_line("indent-newline.ncl", { on_line = 5, text = "stmt", indent = 2 })
+ run:new_line("indent-newline.ncl", { on_line = 6, text = "stmt", indent = 4 })
+ run:new_line("indent-newline.ncl", { on_line = 7, text = "}", indent = 2 })
+ end)
+end)