/*
* Copyright 2013 Guidewire Software, Inc.
*/
package gw.plugin.ij.filetemplates;
import com.intellij.ide.fileTemplates.DefaultCreateFromTemplateHandler;
import com.intellij.ide.fileTemplates.FileTemplate;
import com.intellij.openapi.fileTypes.FileType;
import com.intellij.openapi.fileTypes.ex.FileTypeManagerEx;
import com.intellij.psi.JavaDirectoryService;
import com.intellij.psi.PsiDirectory;
import gw.plugin.ij.filetypes.GosuCodeFileType;
import org.jetbrains.annotations.NotNull;
/**
* Custom logic to suppress gosu template types from showing up in the pull down action menu
*
* @author pfong
*/
public class GosuCreateFromTemplateHandler extends DefaultCreateFromTemplateHandler {
public boolean handlesTemplate(@NotNull FileTemplate template) {
final FileType type = FileTypeManagerEx.getInstanceEx().getFileTypeByExtension(template.getExtension());
return type instanceof GosuCodeFileType;
}
public boolean canCreate(PsiDirectory[] dirs) {
return false;
}
public static boolean canCreate(@NotNull PsiDirectory dir) {
return JavaDirectoryService.getInstance().getPackage(dir) != null;
}
}