package net.jangaroo.ide.idea; import com.intellij.openapi.compiler.*; import com.intellij.openapi.compiler.Compiler; import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.fileTypes.FileTypeManager; import net.jangaroo.exml.api.Exmlc; import net.jangaroo.jooc.api.Jooc; import org.jetbrains.annotations.NotNull; /** * Since IDEA 13, compilation is done by "external build" (JPS), so we just use the * compiler manager to register compilable file extensions for * <ul> * <li>as: "jooc"</li> * <li>exml: "exmlc"</li> * <li>properties: "propc"</li> * </ul> */ public class JoocCompilerFactory implements CompilerFactory { public Compiler[] createCompilers(@NotNull CompilerManager compilerManager) { addCompilableFileType(compilerManager, Jooc.AS_SUFFIX_NO_DOT); addCompilableFileType(compilerManager, Exmlc.EXML_SUFFIX.substring(1)); addCompilableFileType(compilerManager, "properties"); return new Compiler[0]; // already registered the compilers ourselves } private static void addCompilableFileType(CompilerManager compilerManager, String inputFileSuffix) { FileType inputFileType = FileTypeManager.getInstance().getFileTypeByExtension(inputFileSuffix); compilerManager.addCompilableFileType(inputFileType); } }