Code: (lambda () (setq indent-tabs-mode nil) (setq java-ts-mode-indent-offset 4) (java-ts-mode) (indent-region (point-min) (point-max))) Point-Char: | Name: Basic =-= public class Basic { public void basic() { return; } } =-=-= Name: Empty Line =-= public class EmptyLine { public void emptyLine() { | } } =-=-= Name: Statements =-= if (x) { for (var foo : foos) { | } } else if (y) { for (int i = 0; x < foos.size(); i++) { return; } } else { return; } =-=-= Name: Field declaration without access modifier (bug#61115) =-= public class T { @Autowired String a; } =-=-= Name: Array initializer =-= public class Java { void foo() { return new String[]{ "foo", // These "bar" } } } =-=-= Name: Advanced bracket matching indentation (bug#61142) =-= public class Java { public Java( String foo) { this.foo = foo; } void foo( String foo) { for (var f : rs) return new String[]{ "foo", "bar" }; if (a == 0 && b == 1 && foo) { return 0; } else if (a == 1) { return 1; } else if (true) return 5; else { if (a == 0 && b == 1 && foo) while (true) for ( ;;) if (true) return 5; else if (false) { return 6; } else if (true && false) return 6; } } } =-=-=