/*
* Copyright 2013 Guidewire Software, Inc.
*/
package gw.plugin.ij.filetypes;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Maps;
import com.intellij.openapi.application.Application;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ex.ApplicationManagerEx;
import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.fileTypes.FileNameMatcher;
import com.intellij.openapi.fileTypes.FileTypeManager;
import com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl;
import com.intellij.testFramework.PlatformTestUtil;
import java.util.List;
import java.util.Map;
// Only for GosuCodeFileType
public enum GosuCodeFileTypesManager {
INSTANCE;
private final Map<String, IGosuFileTypeProvider> providers = Maps.newLinkedHashMap();
GosuCodeFileTypesManager() {
GosuFileTypeExtensionBean[] extensions = Extensions.getExtensions( GosuFileTypeExtensionBean.EP_NAME );
for (GosuFileTypeExtensionBean provider : extensions ) {
providers.put(provider.extension, provider.getHandler());
}
}
public IGosuFileTypeProvider getFileTypeProvider(String ext) {
return providers.get(ext);
}
public List<String> getRegisteredExtensions() {
return ImmutableList.copyOf(providers.keySet());
}
}