diff --git a/java/java-impl/src/com/intellij/codeInsight/folding/impl/JavaFoldingBuilder.java b/java/java-impl/src/com/intellij/codeInsight/folding/impl/JavaFoldingBuilder.java index 5d948f326930..21a1ea144c67 100644 --- a/java/java-impl/src/com/intellij/codeInsight/folding/impl/JavaFoldingBuilder.java +++ b/java/java-impl/src/com/intellij/codeInsight/folding/impl/JavaFoldingBuilder.java @@ -18,13 +18,18 @@ package com.intellij.codeInsight.folding.impl; import com.intellij.codeInsight.ExpectedTypeInfo; import com.intellij.codeInsight.ExpectedTypesProvider; import com.intellij.lang.java.JavaLanguage; +import com.intellij.openapi.editor.colors.EditorColorsManager; +import com.intellij.openapi.editor.colors.EditorFontType; import com.intellij.openapi.project.Project; import com.intellij.psi.*; import com.intellij.psi.codeStyle.CodeStyleSettings; import com.intellij.psi.codeStyle.CodeStyleSettingsManager; +import com.intellij.util.FontUtil; +import org.jetbrains.annotations.NotNull; + +import java.awt.*; public class JavaFoldingBuilder extends JavaFoldingBuilderBase { - @Override protected boolean isBelowRightMargin(Project project, int lineLength) { final CodeStyleSettings settings = CodeStyleSettingsManager.getSettings(project); @@ -41,5 +46,12 @@ public class JavaFoldingBuilder extends JavaFoldingBuilderBase { ExpectedTypeInfo[] types = ExpectedTypesProvider.getExpectedTypes(expression, false); return types.length != 1 || !types[0].getType().equals(anonymousClass.getBaseClassType()); } + + @Override + @NotNull + protected String rightArrow() { + Font font = EditorColorsManager.getInstance().getGlobalScheme().getFont(EditorFontType.PLAIN); + return FontUtil.rightArrow(font); + } } diff --git a/java/java-psi-impl/src/com/intellij/codeInsight/folding/impl/JavaFoldingBuilderBase.java b/java/java-psi-impl/src/com/intellij/codeInsight/folding/impl/JavaFoldingBuilderBase.java index d15bc3e422df..33c94e08d802 100644 --- a/java/java-psi-impl/src/com/intellij/codeInsight/folding/impl/JavaFoldingBuilderBase.java +++ b/java/java-psi-impl/src/com/intellij/codeInsight/folding/impl/JavaFoldingBuilderBase.java @@ -833,9 +833,7 @@ public abstract class JavaFoldingBuilderBase extends CustomFoldingBuilder implem return psiParameter.getName(); } }, ", "); - //Font font = EditorColorsManager.getInstance().getGlobalScheme().getFont(EditorFontType.PLAIN); - //String arrow = FontUtil.rightArrow(font); - String arrow = "->"; + String arrow = rightArrow(); @NonNls final String lambdas = type + methodName + "(" + params + ") " + arrow + " {"; final int closureStart = expression.getTextRange().getStartOffset(); @@ -867,6 +865,11 @@ public abstract class JavaFoldingBuilderBase extends CustomFoldingBuilder implem return isClosure; } + @NotNull + protected String rightArrow() { + return "->"; + } + private boolean fitsRightMargin(PsiElement element, Document document, int foldingStart, int foldingEnd, int collapsedLength) { final int beforeLength = foldingStart - document.getLineStartOffset(document.getLineNumber(foldingStart)); final int afterLength = document.getLineEndOffset(document.getLineNumber(foldingEnd)) - foldingEnd;