diff --git a/plugins/editorconfig/src/org/editorconfig/plugincomponents/SettingsProviderComponent.java b/plugins/editorconfig/src/org/editorconfig/plugincomponents/SettingsProviderComponent.java index feeebb8de1c0..f588b81f349b 100644 --- a/plugins/editorconfig/src/org/editorconfig/plugincomponents/SettingsProviderComponent.java +++ b/plugins/editorconfig/src/org/editorconfig/plugincomponents/SettingsProviderComponent.java @@ -1,5 +1,6 @@ package org.editorconfig.plugincomponents; +import com.intellij.lang.Language; import com.intellij.lang.LanguageAnnotators; import com.intellij.openapi.components.ApplicationComponent; import com.intellij.openapi.components.ServiceManager; @@ -35,10 +36,15 @@ public class SettingsProviderComponent implements ApplicationComponent { } public void registerAnnotator(FileTypeManager manager) { + final Set languages = new HashSet(); final EditorConfigAnnotator annotator = new EditorConfigAnnotator(); for (FileType type : manager.getRegisteredFileTypes()) { if (type instanceof LanguageFileType) { - LanguageAnnotators.INSTANCE.addExplicitExtension(((LanguageFileType)type).getLanguage(), annotator); + final Language language = ((LanguageFileType)type).getLanguage(); + final String id = language.getID(); + if (languages.contains(id)) continue; + LanguageAnnotators.INSTANCE.addExplicitExtension(language, annotator); + languages.add(id); } } }