aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Brunhage <robertbrunhage@gmail.com>2023-04-11 09:15:58 +0200
committerStephan Seitz <stephan.seitz@fau.de>2023-04-11 03:09:53 -0700
commitac4020c70722337c326bf65b645b162ee6e1796b (patch)
treedb9b2709010b82c58b14e0ff2d446c8cf7ec0a80
parentrefactor(html_inject): use lua-match where possible (diff)
downloadnvim-treesitter-ac4020c70722337c326bf65b645b162ee6e1796b.tar
nvim-treesitter-ac4020c70722337c326bf65b645b162ee6e1796b.tar.gz
nvim-treesitter-ac4020c70722337c326bf65b645b162ee6e1796b.tar.bz2
nvim-treesitter-ac4020c70722337c326bf65b645b162ee6e1796b.tar.lz
nvim-treesitter-ac4020c70722337c326bf65b645b162ee6e1796b.tar.xz
nvim-treesitter-ac4020c70722337c326bf65b645b162ee6e1796b.tar.zst
nvim-treesitter-ac4020c70722337c326bf65b645b162ee6e1796b.zip
fix(dart): function argument indents is inconsistent
-rw-r--r--queries/dart/indents.scm3
-rw-r--r--tests/indent/dart/multiple_arguments.dart13
-rw-r--r--tests/indent/dart_spec.lua2
3 files changed, 17 insertions, 1 deletions
diff --git a/queries/dart/indents.scm b/queries/dart/indents.scm
index 9616f0629..1573290d7 100644
--- a/queries/dart/indents.scm
+++ b/queries/dart/indents.scm
@@ -1,7 +1,6 @@
[
(class_body)
(function_body)
- (function_expression_body)
(declaration (initializers))
(switch_block)
(if_statement)
@@ -28,5 +27,7 @@
; this one is for dedenting the else block
(if_statement (block) @indent.branch)
+; Issue #4637
+(function_expression_body (block) @indent.branch)
(comment) @indent.ignore
diff --git a/tests/indent/dart/multiple_arguments.dart b/tests/indent/dart/multiple_arguments.dart
new file mode 100644
index 000000000..63a4a0438
--- /dev/null
+++ b/tests/indent/dart/multiple_arguments.dart
@@ -0,0 +1,13 @@
+// Example method that causes an issue with indentation on usage
+void someMethod(
+ void onSuccess(),
+ void onError(Exception ex, StackTrace stackTrace),
+) {
+ try {} catch (_, __) {}
+}
+
+void main() {
+ someMethod(() {
+ }, (Exception ex, StackTrace stackTrace) {
+ });
+}
diff --git a/tests/indent/dart_spec.lua b/tests/indent/dart_spec.lua
index fde41b362..b2632cfa4 100644
--- a/tests/indent/dart_spec.lua
+++ b/tests/indent/dart_spec.lua
@@ -18,4 +18,6 @@ end)
describe("new line:", function()
run:new_line("class.dart", { on_line = 2, text = "var x;", indent = 0 })
run:new_line("try.dart", { on_line = 2, text = "var x;", indent = 4 })
+ run:new_line("multiple_arguments.dart", { on_line = 10, text = "var x;", indent = 4 })
+ run:new_line("multiple_arguments.dart", { on_line = 11, text = "var x;", indent = 4 })
end)