feat(indent): add basic java indentation queries (#7844)

This commit is contained in:
woojiq 2023-08-07 16:48:54 +03:00 committed by GitHub
parent 80d2599f9c
commit 1d189820a1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 37 additions and 2 deletions

View file

@ -69,7 +69,7 @@
| idris | | | | `idris2-lsp` |
| iex | ✓ | | | |
| ini | ✓ | | | |
| java | ✓ | ✓ | | `jdtls` |
| java | ✓ | ✓ | | `jdtls` |
| javascript | ✓ | ✓ | ✓ | `typescript-language-server` |
| jsdoc | ✓ | | | |
| json | ✓ | | ✓ | `vscode-json-language-server` |

View file

@ -833,7 +833,7 @@ injection-regex = "java"
file-types = ["java"]
roots = ["pom.xml", "build.gradle", "build.gradle.kts"]
language-servers = [ "jdtls" ]
indent = { tab-width = 4, unit = " " }
indent = { tab-width = 2, unit = " " }
[[grammar]]
name = "java"

View file

@ -0,0 +1,35 @@
[
(class_body)
(enum_body)
(interface_body)
(constructor_body)
(annotation_type_body)
(module_body)
(block)
(switch_block)
(array_initializer)
(argument_list)
(formal_parameters)
(annotation_argument_list)
(element_value_array_initializer)
] @indent
[
"}"
")"
"]"
] @outdent
; Single statement after if/while/for without brackets
(if_statement
consequence: (_) @indent
(#not-kind-eq? @indent "block")
(#set! "scope" "all"))
(while_statement
body: (_) @indent
(#not-kind-eq? @indent "block")
(#set! "scope" "all"))
(for_statement
(_) @indent
(#not-kind-eq? @indent "block")
(#set! "scope" "all"))