aboutsummaryrefslogtreecommitdiffstats
path: root/tests/indent/gdscript_spec.lua
diff options
context:
space:
mode:
authorRyan Roden-Corrent <ryan@rcorre.net>2022-01-23 13:44:36 -0500
committerChristian Clason <christian.clason@uni-due.de>2022-01-24 13:11:01 +0100
commitf67eb83be5f8c49f1a7621553458227b786b1b0c (patch)
tree9fc4e598687766013c479d8c360d92688b4f3839 /tests/indent/gdscript_spec.lua
parentUpdate lockfile.json (diff)
downloadnvim-treesitter-f67eb83be5f8c49f1a7621553458227b786b1b0c.tar
nvim-treesitter-f67eb83be5f8c49f1a7621553458227b786b1b0c.tar.gz
nvim-treesitter-f67eb83be5f8c49f1a7621553458227b786b1b0c.tar.bz2
nvim-treesitter-f67eb83be5f8c49f1a7621553458227b786b1b0c.tar.lz
nvim-treesitter-f67eb83be5f8c49f1a7621553458227b786b1b0c.tar.xz
nvim-treesitter-f67eb83be5f8c49f1a7621553458227b786b1b0c.tar.zst
nvim-treesitter-f67eb83be5f8c49f1a7621553458227b786b1b0c.zip
feat(indent): Implement basic indent for gdscript.
Indent is not handled correctly when adding new lines. It seems that functions/loops/etc. are not recognized until they have at least one indented block. For example, if you enter a newline after `func foo():`, the cursor will not be indented. If you manually indent and add a line like `pass`, e.g.: ``` func foo(): pass ``` now any insertions above or below `pass` will be indented correctly. This might be an issue with the grammar, as it seems to apply to highlights as well. The following will not be highligted ``` func foo(): ``` However, the following will be: ``` func foo(): pass ```
Diffstat (limited to 'tests/indent/gdscript_spec.lua')
-rw-r--r--tests/indent/gdscript_spec.lua20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/indent/gdscript_spec.lua b/tests/indent/gdscript_spec.lua
new file mode 100644
index 000000000..c1770f41a
--- /dev/null
+++ b/tests/indent/gdscript_spec.lua
@@ -0,0 +1,20 @@
+local Runner = require("tests.indent.common").Runner
+
+local run = Runner:new(it, "tests/indent/gdscript", {
+ tabstop = 4,
+ shiftwidth = 4,
+ softtabstop = 0,
+ expandtab = false,
+})
+
+describe("indent GDScript:", function()
+ describe("whole file:", function()
+ run:whole_file(".", {
+ expected_failures = {},
+ })
+ end)
+
+ describe("new line:", function()
+ run:new_line("basic_blocks.gd", { on_line = 1, text = "var member := 0", indent = 0 })
+ end)
+end)