From 2190bd7b2723ef4fbfb47e5d0beb8de8707f3a98 Mon Sep 17 00:00:00 2001 From: Rustam Vishnyakov Date: Wed, 9 Nov 2016 19:05:48 +0300 Subject: [PATCH] Skip array content when searching for statement start (fixes WEB-24067 Some bugs with reformat code) --- .../codeInsight/editorActions/JavaLineIndentProvider.java | 1 + .../codeStyle/lineIndent/JavaLikeLangLineIndentProvider.java | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/java/java-impl/src/com/intellij/codeInsight/editorActions/JavaLineIndentProvider.java b/java/java-impl/src/com/intellij/codeInsight/editorActions/JavaLineIndentProvider.java index e5df223d7360..3502dd3986c1 100644 --- a/java/java-impl/src/com/intellij/codeInsight/editorActions/JavaLineIndentProvider.java +++ b/java/java-impl/src/com/intellij/codeInsight/editorActions/JavaLineIndentProvider.java @@ -43,6 +43,7 @@ public class JavaLineIndentProvider extends JavaLikeLangLineIndentProvider { SYNTAX_MAP.put(JavaTokenType.LBRACE, BlockOpeningBrace); SYNTAX_MAP.put(JavaTokenType.RBRACE, BlockClosingBrace); SYNTAX_MAP.put(JavaTokenType.LBRACKET, ArrayOpeningBracket); + SYNTAX_MAP.put(JavaTokenType.RBRACKET, ArrayClosingBracket); SYNTAX_MAP.put(JavaTokenType.RPARENTH, RightParenthesis); SYNTAX_MAP.put(JavaTokenType.LPARENTH, LeftParenthesis); SYNTAX_MAP.put(JavaTokenType.COLON, Colon); diff --git a/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/lineIndent/JavaLikeLangLineIndentProvider.java b/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/lineIndent/JavaLikeLangLineIndentProvider.java index 202d2ff31dea..5999d4f81299 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/lineIndent/JavaLikeLangLineIndentProvider.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/lineIndent/JavaLikeLangLineIndentProvider.java @@ -45,6 +45,7 @@ public abstract class JavaLikeLangLineIndentProvider implements LineIndentProvid BlockOpeningBrace, BlockClosingBrace, ArrayOpeningBracket, + ArrayClosingBracket, RightParenthesis, LeftParenthesis, Colon, @@ -199,6 +200,9 @@ public abstract class JavaLikeLangLineIndentProvider implements LineIndentProvid else if (position.isAt(BlockClosingBrace)) { position.beforeParentheses(BlockOpeningBrace, BlockClosingBrace); } + else if (position.isAt(ArrayClosingBracket)) { + position.beforeParentheses(ArrayOpeningBracket, ArrayClosingBracket); + } else if (position.isAtAnyOf(Semicolon, BlockOpeningBrace, BlockComment,