diff --git a/platform/code-style-api/src/com/intellij/psi/codeStyle/CommonCodeStyleSettingsManager.java b/platform/code-style-api/src/com/intellij/psi/codeStyle/CommonCodeStyleSettingsManager.java index 9ffc7fc35d4c..a7d7d761a11b 100644 --- a/platform/code-style-api/src/com/intellij/psi/codeStyle/CommonCodeStyleSettingsManager.java +++ b/platform/code-style-api/src/com/intellij/psi/codeStyle/CommonCodeStyleSettingsManager.java @@ -84,18 +84,31 @@ final class CommonCodeStyleSettingsManager { * @return Common code style settings for the given language or a new instance with default values if not found. */ public @NotNull CommonCodeStyleSettings getCommonSettings(@NotNull String langName) { - Map map = getCommonSettingsMap(); - for (Language language : Language.getRegisteredLanguages()) { - if (langName.equals(language.getDisplayName())) { - CommonCodeStyleSettings settings = map.get(language.getID()); - if (settings != null) { - return settings; - } + Language language = findLanguageByDisplayName(langName); + + if (language != null) { + Map map = getCommonSettingsMap(); + CommonCodeStyleSettings settings = map.get(language.getID()); + if (settings != null) { + return settings; } } return new CommonCodeStyleSettings(Language.ANY); } + private static Language findLanguageByDisplayName(@NotNull String langName) { + Language l = Language.findLanguageByID(langName); // optimization + if (l == null || !l.getDisplayName().equals(langName)) { + for (Language language : Language.getRegisteredLanguages()) { + if (langName.equals(language.getDisplayName())) { + l = language; + break; + } + } + } + return l; + } + private void initNonReadSettings() { for (final LanguageCodeStyleProvider provider : CodeStyleSettingsService.getInstance().getLanguageCodeStyleProviders()) { @@ -114,6 +127,7 @@ final class CommonCodeStyleSettingsManager { registerCommonSettings(langId, initialSettings); } + @NotNull private Map initCommonSettingsMap() { Map map = new LinkedHashMap<>(); myCommonSettingsMap = map;