diff options
Diffstat (limited to 'platform/lang-api/src/com/intellij/psi/codeStyle/CodeStyleSettings.java')
-rw-r--r-- | platform/lang-api/src/com/intellij/psi/codeStyle/CodeStyleSettings.java | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/platform/lang-api/src/com/intellij/psi/codeStyle/CodeStyleSettings.java b/platform/lang-api/src/com/intellij/psi/codeStyle/CodeStyleSettings.java index 3eb09544bb7f..2c44a32d9ace 100644 --- a/platform/lang-api/src/com/intellij/psi/codeStyle/CodeStyleSettings.java +++ b/platform/lang-api/src/com/intellij/psi/codeStyle/CodeStyleSettings.java @@ -56,6 +56,7 @@ public class CodeStyleSettings extends CommonCodeStyleSettings implements Clonea public CodeStyleSettings(boolean loadExtensions) { super(null); + RIGHT_MARGIN = DEFAULT_RIGHT_MARGIN; initTypeToName(); initImportsByDefault(); @@ -243,7 +244,6 @@ public class CodeStyleSettings extends CommonCodeStyleSettings implements Clonea public int INNER_CLASSES_ORDER_WEIGHT = 7; //----------------- WRAPPING --------------------------- - public int RIGHT_MARGIN = 120; public boolean WRAP_WHEN_TYPING_REACHES_RIGHT_MARGIN = false; @@ -875,4 +875,38 @@ public class CodeStyleSettings extends CommonCodeStyleSettings implements Clonea return myCommonSettingsManager.getCommonSettings(langName); } + /** + * Retrieves right margin for the given language. The language may overwrite default RIGHT_MARGIN value with its own RIGHT_MARGIN + * in language's CommonCodeStyleSettings instance. + * + * @param language The language to get right margin for or null if root (default) right margin is requested. + * @return The right margin for the language if it is defined (not null) and its settings contain non-negative margin. Root (default) + * margin otherwise (CodeStyleSettings.RIGHT_MARGIN). + */ + public int getRightMargin(@Nullable Language language) { + if (language != null) { + CommonCodeStyleSettings langSettings = getCommonSettings(language); + if (langSettings != null) { + if (langSettings.RIGHT_MARGIN >= 0) return langSettings.RIGHT_MARGIN; + } + } + return RIGHT_MARGIN; + } + + /** + * Assigns another right margin for the language or (if it is null) to root (default) margin. + * + * @param language The language to assign the right margin to or null if root (default) right margin is to be changed. + * @param rightMargin New right margin. + */ + public void setRightMargin(@Nullable Language language, int rightMargin) { + if (language != null) { + CommonCodeStyleSettings langSettings = getCommonSettings(language); + if (langSettings != null) { + langSettings.RIGHT_MARGIN = rightMargin; + return; + } + } + RIGHT_MARGIN = rightMargin; + } } |