Skip to content

Commit

Permalink
feat(indent): add basic java indentation queries (helix-editor#7844)
Browse files Browse the repository at this point in the history
  • Loading branch information
woojiq authored and Schuyler Mortimer committed Jul 10, 2024
1 parent a4b6523 commit 205ea80
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 2 deletions.
2 changes: 1 addition & 1 deletion book/src/generated/lang-support.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@
| idris | | | | `idris2-lsp` |
| iex || | | |
| ini || | | |
| java ||| | `jdtls` |
| java ||| | `jdtls` |
| javascript |||| `typescript-language-server` |
| jsdoc || | | |
| json || || `vscode-json-language-server` |
Expand Down
2 changes: 1 addition & 1 deletion languages.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
35 changes: 35 additions & 0 deletions runtime/queries/java/indents.scm
Original file line number Diff line number Diff line change
@@ -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"))

0 comments on commit 205ea80

Please sign in to comment.