summaryrefslogtreecommitdiff
path: root/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle
diff options
context:
space:
mode:
Diffstat (limited to 'platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle')
-rw-r--r--platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeFormatterFacade.java16
-rw-r--r--platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeStyleFacadeImpl.java5
-rw-r--r--platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeStyleManagerImpl.java6
3 files changed, 15 insertions, 12 deletions
diff --git a/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeFormatterFacade.java b/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeFormatterFacade.java
index e76aecfa1e0b..fa1dd9e86b4a 100644
--- a/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeFormatterFacade.java
+++ b/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeFormatterFacade.java
@@ -78,10 +78,12 @@ public class CodeFormatterFacade {
private final CodeStyleSettings mySettings;
private final FormatterTagHandler myTagHandler;
+ private final int myRightMargin;
- public CodeFormatterFacade(CodeStyleSettings settings) {
+ public CodeFormatterFacade(CodeStyleSettings settings, @Nullable Language language) {
mySettings = settings;
myTagHandler = new FormatterTagHandler(settings);
+ myRightMargin = mySettings.getRightMargin(language);
}
public ASTNode processElement(ASTNode element) {
@@ -637,8 +639,8 @@ public class CodeFormatterFacade {
}
private int wrapPositionForTextWithoutTabs(int startLineOffset, int endLineOffset, int targetRangeEndOffset) {
- if (Math.min(endLineOffset, targetRangeEndOffset) - startLineOffset > mySettings.RIGHT_MARGIN) {
- return startLineOffset + mySettings.RIGHT_MARGIN - FormatConstants.RESERVED_LINE_WRAP_WIDTH_IN_COLUMNS;
+ if (Math.min(endLineOffset, targetRangeEndOffset) - startLineOffset > myRightMargin) {
+ return startLineOffset + myRightMargin - FormatConstants.RESERVED_LINE_WRAP_WIDTH_IN_COLUMNS;
}
return -1;
}
@@ -659,13 +661,13 @@ public class CodeFormatterFacade {
case '\t': symbolWidth = tabSize - (width % tabSize); break;
default: symbolWidth = 1;
}
- if (width + symbolWidth + FormatConstants.RESERVED_LINE_WRAP_WIDTH_IN_COLUMNS >= mySettings.RIGHT_MARGIN
+ if (width + symbolWidth + FormatConstants.RESERVED_LINE_WRAP_WIDTH_IN_COLUMNS >= myRightMargin
&& (Math.min(endLineOffset, targetRangeEndOffset) - i) >= FormatConstants.RESERVED_LINE_WRAP_WIDTH_IN_COLUMNS)
{
// Remember preferred position.
result = i - 1;
}
- if (width + symbolWidth >= mySettings.RIGHT_MARGIN) {
+ if (width + symbolWidth >= myRightMargin) {
wrapLine = true;
break;
}
@@ -700,12 +702,12 @@ public class CodeFormatterFacade {
break;
default: newX = x + EditorUtil.charWidth(c, Font.PLAIN, editor); symbolWidth = 1;
}
- if (width + symbolWidth + FormatConstants.RESERVED_LINE_WRAP_WIDTH_IN_COLUMNS >= mySettings.RIGHT_MARGIN
+ if (width + symbolWidth + FormatConstants.RESERVED_LINE_WRAP_WIDTH_IN_COLUMNS >= myRightMargin
&& (Math.min(endLineOffset, targetRangeEndOffset) - i) >= FormatConstants.RESERVED_LINE_WRAP_WIDTH_IN_COLUMNS)
{
result = i - 1;
}
- if (width + symbolWidth >= mySettings.RIGHT_MARGIN) {
+ if (width + symbolWidth >= myRightMargin) {
wrapLine = true;
break;
}
diff --git a/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeStyleFacadeImpl.java b/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeStyleFacadeImpl.java
index a9031f3133a3..81eda35222dd 100644
--- a/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeStyleFacadeImpl.java
+++ b/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeStyleFacadeImpl.java
@@ -20,6 +20,7 @@
package com.intellij.psi.impl.source.codeStyle;
import com.intellij.codeStyle.CodeStyleFacade;
+import com.intellij.lang.Language;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.fileTypes.FileType;
import com.intellij.openapi.options.Configurable;
@@ -68,8 +69,8 @@ public class CodeStyleFacadeImpl extends CodeStyleFacade {
}
@Override
- public int getRightMargin() {
- return CodeStyleSettingsManager.getSettings(myProject).RIGHT_MARGIN;
+ public int getRightMargin(Language language) {
+ return CodeStyleSettingsManager.getSettings(myProject).getRightMargin(language);
}
@Override
diff --git a/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeStyleManagerImpl.java b/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeStyleManagerImpl.java
index 043ac483d2ed..767152fc1e2b 100644
--- a/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeStyleManagerImpl.java
+++ b/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeStyleManagerImpl.java
@@ -101,7 +101,7 @@ public class CodeStyleManagerImpl extends CodeStyleManager {
}
ASTNode treeElement = SourceTreeToPsiMap.psiElementToTree(element);
- final PsiElement formatted = SourceTreeToPsiMap.treeElementToPsi(new CodeFormatterFacade(getSettings()).processElement(treeElement));
+ final PsiElement formatted = SourceTreeToPsiMap.treeElementToPsi(new CodeFormatterFacade(getSettings(), element.getLanguage()).processElement(treeElement));
if (!canChangeWhiteSpacesOnly) {
return postProcessElement(formatted);
}
@@ -180,7 +180,7 @@ public class CodeStyleManagerImpl extends CodeStyleManager {
ASTNode treeElement = SourceTreeToPsiMap.psiElementToTree(file);
transformAllChildren(treeElement);
- final CodeFormatterFacade codeFormatter = new CodeFormatterFacade(getSettings());
+ final CodeFormatterFacade codeFormatter = new CodeFormatterFacade(getSettings(), file.getLanguage());
LOG.assertTrue(file.isValid());
if (editor == null) {
@@ -274,7 +274,7 @@ public class CodeStyleManagerImpl extends CodeStyleManager {
}
ASTNode treeElement = SourceTreeToPsiMap.psiElementToTree(element);
- final CodeFormatterFacade codeFormatter = new CodeFormatterFacade(getSettings());
+ final CodeFormatterFacade codeFormatter = new CodeFormatterFacade(getSettings(), element.getLanguage());
final PsiElement formatted = SourceTreeToPsiMap.treeElementToPsi(codeFormatter.processRange(treeElement, startOffset, endOffset));
return canChangeWhiteSpacesOnly ? formatted : postProcessElement(formatted);