aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Woznicki <danwoz@nettoolkit.com>2022-02-24 15:41:15 -0800
committerStephan Seitz <stephan.seitz@fau.de>2022-02-25 00:58:59 +0100
commitb425a9c8130e7654ba5f16b5b6e2538bab38dcf1 (patch)
tree3f0fa44f38c63a4484bb747c4588e20757d23329
parentUpdate lockfile.json (#2568) (diff)
downloadnvim-treesitter-b425a9c8130e7654ba5f16b5b6e2538bab38dcf1.tar
nvim-treesitter-b425a9c8130e7654ba5f16b5b6e2538bab38dcf1.tar.gz
nvim-treesitter-b425a9c8130e7654ba5f16b5b6e2538bab38dcf1.tar.bz2
nvim-treesitter-b425a9c8130e7654ba5f16b5b6e2538bab38dcf1.tar.lz
nvim-treesitter-b425a9c8130e7654ba5f16b5b6e2538bab38dcf1.tar.xz
nvim-treesitter-b425a9c8130e7654ba5f16b5b6e2538bab38dcf1.tar.zst
nvim-treesitter-b425a9c8130e7654ba5f16b5b6e2538bab38dcf1.zip
Added fix for incorrect Java indentation after a closing "}" in a method declaration
Added tests for Java indentation, including one for issue 2571
-rw-r--r--queries/java/indents.scm5
-rw-r--r--tests/indent/java/issue_2571.java6
-rw-r--r--tests/indent/java/method.java2
-rw-r--r--tests/indent/java_spec.lua23
4 files changed, 36 insertions, 0 deletions
diff --git a/queries/java/indents.scm b/queries/java/indents.scm
index 578c22334..c65f92db9 100644
--- a/queries/java/indents.scm
+++ b/queries/java/indents.scm
@@ -19,4 +19,9 @@
"]"
] @branch
+[
+ "}"
+ ")"
+] @indent_end
+
[(block_comment) (line_comment)] @ignore
diff --git a/tests/indent/java/issue_2571.java b/tests/indent/java/issue_2571.java
new file mode 100644
index 000000000..b165d236a
--- /dev/null
+++ b/tests/indent/java/issue_2571.java
@@ -0,0 +1,6 @@
+// https://github.com/nvim-treesitter/nvim-treesitter/issues/2571
+class Testo {
+ void foo() {
+ System.out.println("foo");
+ }
+}
diff --git a/tests/indent/java/method.java b/tests/indent/java/method.java
new file mode 100644
index 000000000..ecf62bd1e
--- /dev/null
+++ b/tests/indent/java/method.java
@@ -0,0 +1,2 @@
+public class Method {
+}
diff --git a/tests/indent/java_spec.lua b/tests/indent/java_spec.lua
new file mode 100644
index 000000000..052999bbd
--- /dev/null
+++ b/tests/indent/java_spec.lua
@@ -0,0 +1,23 @@
+local Runner = require("tests.indent.common").Runner
+--local XFAIL = require("tests.indent.common").XFAIL
+
+local run = Runner:new(it, "tests/indent/java", {
+ tabstop = 2,
+ shiftwidth = 2,
+ softtabstop = 0,
+ expandtab = true,
+})
+
+describe("indent Java:", function()
+ describe("whole file:", function()
+ run:whole_file(".", {
+ expected_failures = {},
+ })
+ end)
+
+ describe("new line:", function()
+ run:new_line("method.java", { on_line = 1, text = "void foo() {}", indent = 2 })
+ run:new_line("issue_2571.java", { on_line = 5, text = "void bar() {}", indent = 2 })
+ end)
+end)
+