From 3b10a45eaefaa781a42421614f0c964f87c35502 Mon Sep 17 00:00:00 2001 From: Rustam Vishnyakov Date: Fri, 3 Jun 2016 15:15:12 +0300 Subject: [PATCH] Line indent provider: more cases fixed --- .../psi/impl/source/codeStyle/SemanticEditorPosition.java | 2 +- .../codeStyle/lineIndent/JavaLikeLangLineIndentProvider.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/SemanticEditorPosition.java b/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/SemanticEditorPosition.java index facf920da3e6..5b440f0394ce 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/SemanticEditorPosition.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/SemanticEditorPosition.java @@ -165,7 +165,7 @@ public abstract class SemanticEditorPosition { public boolean isAtLanguage(@Nullable Language language) { if (language != null && !myIterator.atEnd()) { - return myIterator.getTokenType().getLanguage().is(language); + return language== Language.ANY || myIterator.getTokenType().getLanguage().is(language); } return false; } 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 ac4a72b1c116..2f207a0c35b4 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 @@ -164,10 +164,11 @@ public abstract class JavaLikeLangLineIndentProvider extends FormatterBasedLineI position.beforeParentheses(LeftParenthesis, RightParenthesis); } while (!position.isAtEnd()) { + if (currLanguage == Language.ANY || currLanguage == null) currLanguage = position.getLanguage(); if (position.isAt(Semicolon) || position.isAt(BlockOpeningBrace) || position.isAt(BlockClosingBrace) || - !position.isAtLanguage(currLanguage)) { + ! ((position.getLanguage() != Language.ANY) && position.isAtLanguage(currLanguage))) { SemanticEditorPosition statementStart = getPosition(position.getEditor(), position.getStartOffset()); if (statementStart.after().isAt(Whitespace) && statementStart.isAtMultiline()) { if (!statementStart.after().isAtEnd()) {