// Path: src/main/java/org/antlr/jetbrains/st4plugin/Icons.java
// public class Icons {
//     public static final Icon STG_FILE = IconLoader.getIcon("/icons/st.png");
//     public static final Icon BIGSTRING = IconLoader.getIcon("/icons/bigstring.png");
//     public static final Icon BIGSTRING_NONL = IconLoader.getIcon("/icons/bigstring-nonl.png");
//     public static final Icon STRING = IconLoader.getIcon("/icons/string.png");
//     public static final Icon DICT = IconLoader.getIcon("/icons/dict.png");
// }
// 
// Path: src/main/java/org/antlr/jetbrains/st4plugin/STFileType.java
// public class STFileType extends LanguageFileType implements TemplateLanguageFileType {
//     public static final STFileType INSTANCE = new STFileType();
// 
//     protected STFileType() {
//         super(STLanguage.INSTANCE);
//     }
// 
//     @NotNull
//     @Override
//     public String getName() {
//         return "StringTemplate v4 template file";
//     }
// 
//     @NotNull
//     @Override
//     public String getDescription() {
//         return "StringTemplate v4 template file";
//     }
// 
//     @NotNull
//     @Override
//     public String getDefaultExtension() {
//         return "st";
//     }
// 
//     @Nullable
//     @Override
//     public Icon getIcon() {
//         return Icons.STG_FILE;
//     }
// 
//     static class Factory extends FileTypeFactory {
//         @Override
//         public void createFileTypes(@NotNull FileTypeConsumer consumer) {
//             consumer.consume(STFileType.INSTANCE);
//         }
//     }
// }
// 
// Path: src/main/java/org/antlr/jetbrains/st4plugin/STLanguage.java
// public class STLanguage extends Language {
// 
//     public static final STLanguage INSTANCE = new STLanguage();
// 
//     private STLanguage() {
//         super("ST");
//     }
// }


import com.intellij.extapi.psi.PsiFileBase;
import com.intellij.openapi.fileTypes.FileType;
import com.intellij.psi.FileViewProvider;
import org.antlr.jetbrains.st4plugin.Icons;
import org.antlr.jetbrains.st4plugin.STFileType;
import org.antlr.jetbrains.st4plugin.STLanguage;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
package org.antlr.jetbrains.st4plugin.psi;



public class STFile extends PsiFileBase {

    protected STFile(@NotNull FileViewProvider viewProvider) {
        super(viewProvider, STLanguage.INSTANCE);
    }

    @NotNull
    @Override
    public FileType getFileType() {
// Path: src/main/java/org/antlr/jetbrains/st4plugin/Icons.java
// public class Icons {
//     public static final Icon STG_FILE = IconLoader.getIcon("/icons/st.png");
//     public static final Icon BIGSTRING = IconLoader.getIcon("/icons/bigstring.png");
//     public static final Icon BIGSTRING_NONL = IconLoader.getIcon("/icons/bigstring-nonl.png");
//     public static final Icon STRING = IconLoader.getIcon("/icons/string.png");
//     public static final Icon DICT = IconLoader.getIcon("/icons/dict.png");
// }
// 
// Path: src/main/java/org/antlr/jetbrains/st4plugin/STFileType.java
// public class STFileType extends LanguageFileType implements TemplateLanguageFileType {
//     public static final STFileType INSTANCE = new STFileType();
// 
//     protected STFileType() {
//         super(STLanguage.INSTANCE);
//     }
// 
//     @NotNull
//     @Override
//     public String getName() {
//         return "StringTemplate v4 template file";
//     }
// 
//     @NotNull
//     @Override
//     public String getDescription() {
//         return "StringTemplate v4 template file";
//     }
// 
//     @NotNull
//     @Override
//     public String getDefaultExtension() {
//         return "st";
//     }
// 
//     @Nullable
//     @Override
//     public Icon getIcon() {
//         return Icons.STG_FILE;
//     }
// 
//     static class Factory extends FileTypeFactory {
//         @Override
//         public void createFileTypes(@NotNull FileTypeConsumer consumer) {
//             consumer.consume(STFileType.INSTANCE);
//         }
//     }
// }
// 
// Path: src/main/java/org/antlr/jetbrains/st4plugin/STLanguage.java
// public class STLanguage extends Language {
// 
//     public static final STLanguage INSTANCE = new STLanguage();
// 
//     private STLanguage() {
//         super("ST");
//     }
// }


// Path: src/main/java/org/antlr/jetbrains/st4plugin/psi/STFile.java
import com.intellij.extapi.psi.PsiFileBase;
import com.intellij.openapi.fileTypes.FileType;
import com.intellij.psi.FileViewProvider;
import org.antlr.jetbrains.st4plugin.Icons;
import org.antlr.jetbrains.st4plugin.STFileType;
import org.antlr.jetbrains.st4plugin.STLanguage;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;

package org.antlr.jetbrains.st4plugin.psi;



public class STFile extends PsiFileBase {

    protected STFile(@NotNull FileViewProvider viewProvider) {
        super(viewProvider, STLanguage.INSTANCE);
    }

    @NotNull
    @Override
    public FileType getFileType() {
        return STFileType.INSTANCE;