aboutsummaryrefslogtreecommitdiffstats
path: root/tests/indent
diff options
context:
space:
mode:
authorJędrzej Boczar <yendreij@gmail.com>2024-01-19 16:08:23 +0100
committerChristian Clason <c.clason@uni-graz.at>2024-01-20 10:48:56 +0100
commit6548bb64c11e0860a504de3012e8aa14e1d51d7e (patch)
treec6dea405b7af49d5cc56e22aad3b895d64b98bbb /tests/indent
parentFixup format (#5934) (diff)
downloadnvim-treesitter-6548bb64c11e0860a504de3012e8aa14e1d51d7e.tar
nvim-treesitter-6548bb64c11e0860a504de3012e8aa14e1d51d7e.tar.gz
nvim-treesitter-6548bb64c11e0860a504de3012e8aa14e1d51d7e.tar.bz2
nvim-treesitter-6548bb64c11e0860a504de3012e8aa14e1d51d7e.tar.lz
nvim-treesitter-6548bb64c11e0860a504de3012e8aa14e1d51d7e.tar.xz
nvim-treesitter-6548bb64c11e0860a504de3012e8aa14e1d51d7e.tar.zst
nvim-treesitter-6548bb64c11e0860a504de3012e8aa14e1d51d7e.zip
feat(meson): add indents.scm
Diffstat (limited to 'tests/indent')
-rw-r--r--tests/indent/meson/cond.meson16
-rw-r--r--tests/indent/meson/dict.meson15
-rw-r--r--tests/indent/meson/func.meson13
-rw-r--r--tests/indent/meson/list.meson14
-rw-r--r--tests/indent/meson/loop.meson8
-rw-r--r--tests/indent/meson/meson.build34
-rw-r--r--tests/indent/meson/method.meson8
-rw-r--r--tests/indent/meson/ternary.meson11
-rw-r--r--tests/indent/meson_spec.lua28
9 files changed, 147 insertions, 0 deletions
diff --git a/tests/indent/meson/cond.meson b/tests/indent/meson/cond.meson
new file mode 100644
index 000000000..a4b0b71df
--- /dev/null
+++ b/tests/indent/meson/cond.meson
@@ -0,0 +1,16 @@
+# vim: ft=meson
+
+if a == b
+endif
+
+if a == b
+ foo()
+endif
+
+if a == b
+ foo()
+elif a != b
+ foo()
+else
+ foo()
+endif
diff --git a/tests/indent/meson/dict.meson b/tests/indent/meson/dict.meson
new file mode 100644
index 000000000..d48689fa4
--- /dev/null
+++ b/tests/indent/meson/dict.meson
@@ -0,0 +1,15 @@
+# vim: ft=meson
+
+foo = {
+ 'a': 1,
+ 'b': 2,
+}
+
+bar = {
+ 'a': 1,
+ 'b': 2}
+
+baz = {'a': 1,
+ 'b': 2
+}
+
diff --git a/tests/indent/meson/func.meson b/tests/indent/meson/func.meson
new file mode 100644
index 000000000..3e83e0fad
--- /dev/null
+++ b/tests/indent/meson/func.meson
@@ -0,0 +1,13 @@
+# vim: ft=meson
+
+executable('progname',
+)
+
+executable('progname',
+ sources: 'prog.c',
+ c_args: '-DFOO=1'
+)
+
+executable('progname',
+ sources: 'prog.c',
+ c_args: '-DFOO=1')
diff --git a/tests/indent/meson/list.meson b/tests/indent/meson/list.meson
new file mode 100644
index 000000000..0dd17d27f
--- /dev/null
+++ b/tests/indent/meson/list.meson
@@ -0,0 +1,14 @@
+# vim: ft=meson
+
+foo = [
+ 'a',
+ 'b',
+]
+
+bar = [
+ 'a',
+ 'b']
+
+baz = ['a',
+ 'b'
+]
diff --git a/tests/indent/meson/loop.meson b/tests/indent/meson/loop.meson
new file mode 100644
index 000000000..ae9c4b7a7
--- /dev/null
+++ b/tests/indent/meson/loop.meson
@@ -0,0 +1,8 @@
+# vim: ft=meson
+
+foreach elem : list
+endforeach
+
+foreach elem : list
+ foo()
+endforeach
diff --git a/tests/indent/meson/meson.build b/tests/indent/meson/meson.build
new file mode 100644
index 000000000..b7e6e0568
--- /dev/null
+++ b/tests/indent/meson/meson.build
@@ -0,0 +1,34 @@
+project('simple', 'c')
+
+src = [
+ 'source1.c',
+ 'source2.c',
+]
+
+if 1 == 2
+ if meson.is_cross_build()
+ src += [
+ 'src1.c',
+ 'src2.c']
+ endif
+endif
+
+inc = include_directories([
+ 'dir1/',
+])
+
+
+dep = declare_dependency(
+ sources : src,
+ include_directories : inc,
+)
+
+executable('myexe', src,
+ include_directories : [
+ 'd1',
+ [
+ 'd2',
+ 'd3',
+ ]
+ ],
+ dependencies: dep)
diff --git a/tests/indent/meson/method.meson b/tests/indent/meson/method.meson
new file mode 100644
index 000000000..8c17be8a8
--- /dev/null
+++ b/tests/indent/meson/method.meson
@@ -0,0 +1,8 @@
+# vim: ft=meson
+
+myobj
+ .do_something('now')
+
+myobj.do_something('now')
+ .do_something('now')
+ .do_something('now')
diff --git a/tests/indent/meson/ternary.meson b/tests/indent/meson/ternary.meson
new file mode 100644
index 000000000..d3dec04ac
--- /dev/null
+++ b/tests/indent/meson/ternary.meson
@@ -0,0 +1,11 @@
+# vim: ft=meson
+
+x = cond ?
+ iftrue :
+ iffalse
+
+x = cond
+ ? iftrue
+ : iffalse
+
+x = cond ?
diff --git a/tests/indent/meson_spec.lua b/tests/indent/meson_spec.lua
new file mode 100644
index 000000000..bc2372ee0
--- /dev/null
+++ b/tests/indent/meson_spec.lua
@@ -0,0 +1,28 @@
+local Runner = require("tests.indent.common").Runner
+
+local run = Runner:new(it, "tests/indent/meson", {
+ tabstop = 2,
+ shiftwidth = 2,
+ softtabstop = 0,
+ expandtab = true,
+})
+
+describe("indent Meson:", function()
+ describe("whole file:", function()
+ run:whole_file(".", {
+ expected_failures = {},
+ })
+ end)
+
+ describe("new line:", function()
+ run:new_line("cond.meson", { on_line = 3, text = "foo()", indent = 2 })
+ run:new_line("cond.meson", { on_line = 6, text = "foo()", indent = 2 })
+ run:new_line("cond.meson", { on_line = 7, text = "foo()", indent = 2 })
+ run:new_line("cond.meson", { on_line = 12, text = "foo()", indent = 2 })
+ run:new_line("cond.meson", { on_line = 14, text = "foo()", indent = 2 })
+ run:new_line("dict.meson", { on_line = 13, text = ",'x':1,", indent = 2 })
+ run:new_line("loop.meson", { on_line = 3, text = "foo()", indent = 2 })
+ run:new_line("loop.meson", { on_line = 7, text = "foo()", indent = 2 })
+ run:new_line("ternary.meson", { on_line = 11, text = "x : y", indent = 2 })
+ end)
+end)