From b87e08f706aaabbfd98800dc527335881fcc6c47 Mon Sep 17 00:00:00 2001 From: Rustam Vishnyakov Date: Fri, 29 Dec 2017 17:39:43 +0300 Subject: [PATCH] Migration to PsiFile-based code style API --- .../intellij/application/options/CodeStyle.java | 14 ++++++++++++++ .../intellij/openapi/editor/impl/SettingsImpl.java | 5 ++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/platform/lang-api/src/com/intellij/application/options/CodeStyle.java b/platform/lang-api/src/com/intellij/application/options/CodeStyle.java index 172671e36201..950c2a4863be 100644 --- a/platform/lang-api/src/com/intellij/application/options/CodeStyle.java +++ b/platform/lang-api/src/com/intellij/application/options/CodeStyle.java @@ -39,6 +39,7 @@ public class CodeStyle { */ @NotNull public static CodeStyleSettings getDefaultSettings() { + //noinspection deprecation return CodeStyleSettingsManager.getInstance().getCurrentSettings(); } @@ -68,6 +69,19 @@ public class CodeStyle { return getDefaultSettings(); } + + public static CodeStyleSettings getSettings(@NotNull Editor editor) { + Project project = editor.getProject(); + if (project != null) { + PsiFile file = PsiDocumentManager.getInstance(project).getPsiFile(editor.getDocument()); + if (file != null) { + return getSettings(file); + } + return getSettings(project); + } + return getDefaultSettings(); + } + /** * Returns language code style settings for the specified editor. If the editor has an associated document and PSI file, returns * settings for the PSI file or {@code null} otherwise. diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/SettingsImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/SettingsImpl.java index ca05cd16085a..a82886e0ff86 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/SettingsImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/SettingsImpl.java @@ -266,7 +266,10 @@ public class SettingsImpl implements EditorSettings { @Override public List getSoftMargins() { if (mySoftMargins != null) return mySoftMargins; - return CodeStyleSettingsManager.getSettings(myEditor == null ? null : myEditor.getProject()).getSoftMargins(myLanguage); + return + myEditor == null ? + CodeStyle.getDefaultSettings().getSoftMargins(myLanguage) : + CodeStyle.getSettings(myEditor).getSoftMargins(myLanguage); } @Override