e797ad9a6160d0bfd9b6715a68e3590aa0ce87c1
[idea/community.git] / python / educational-core / course-creator / src / com / jetbrains / edu / coursecreator / CCLanguageManager.java
1 package com.jetbrains.edu.coursecreator;
2
3 import com.intellij.ide.fileTemplates.FileTemplate;
4 import com.intellij.lang.LanguageExtension;
5 import com.intellij.openapi.project.Project;
6 import com.intellij.openapi.vfs.VirtualFile;
7 import org.jetbrains.annotations.NotNull;
8 import org.jetbrains.annotations.Nullable;
9
10 import java.io.File;
11
12 public interface CCLanguageManager {
13   LanguageExtension<CCLanguageManager> INSTANCE = new LanguageExtension<>("Edu.CCLanguageManager");
14
15   @Nullable
16   String getDefaultTaskFileExtension();
17
18   @Nullable
19   FileTemplate getTaskFileTemplateForExtension(@NotNull final Project project, String extension);
20
21   @Nullable
22   FileTemplate getTestsTemplate(@NotNull final Project project);
23
24   boolean doNotPackFile(File pathname);
25
26   default boolean isTestFile(VirtualFile file) {
27     return false;
28   }
29 }