// 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/STGroupFileType.java
// public class STGroupFileType extends LanguageFileType implements TemplateLanguageFileType {
//     public static final STGroupFileType INSTANCE = new STGroupFileType();
// 
//     protected STGroupFileType() {
//         super(STGroupLanguage.INSTANCE);
//     }
// 
//     @NotNull
//     @Override
//     public String getName() {
//         return "StringTemplate v4 template group file";
//     }
// 
//     @NotNull
//     @Override
//     public String getDescription() {
//         return "StringTemplate v4 template group file";
//     }
// 
//     @NotNull
//     @Override
//     public String getDefaultExtension() {
//         return "stg";
//     }
// 
//     @Nullable
//     @Override
//     public Icon getIcon() {
//         return Icons.STG_FILE;
//     }
// 
//     static class Factory extends FileTypeFactory {
//         @Override
//         public void createFileTypes(@NotNull FileTypeConsumer consumer) {
//             consumer.consume(STGroupFileType.INSTANCE);
//         }
//     }
// }
// 
// Path: src/main/java/org/antlr/jetbrains/st4plugin/STGroupLanguage.java
// public class STGroupLanguage extends Language {
//     public static final STGroupLanguage INSTANCE = new STGroupLanguage();
// 
//     private STGroupLanguage() {
//         super("STGroup");
//     }
// }


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.STGroupFileType;
import org.antlr.jetbrains.st4plugin.STGroupLanguage;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
package org.antlr.jetbrains.st4plugin.psi;



public class STGroupFile extends PsiFileBase {

    protected STGroupFile(@NotNull FileViewProvider viewProvider) {
        super(viewProvider, STGroupLanguage.INSTANCE);
    }

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

    @Override
    public String toString() {
        return "String Template group file";
    }

    @Nullable
    @Override
    public Icon getIcon(int flags) {
// 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/STGroupFileType.java
// public class STGroupFileType extends LanguageFileType implements TemplateLanguageFileType {
//     public static final STGroupFileType INSTANCE = new STGroupFileType();
// 
//     protected STGroupFileType() {
//         super(STGroupLanguage.INSTANCE);
//     }
// 
//     @NotNull
//     @Override
//     public String getName() {
//         return "StringTemplate v4 template group file";
//     }
// 
//     @NotNull
//     @Override
//     public String getDescription() {
//         return "StringTemplate v4 template group file";
//     }
// 
//     @NotNull
//     @Override
//     public String getDefaultExtension() {
//         return "stg";
//     }
// 
//     @Nullable
//     @Override
//     public Icon getIcon() {
//         return Icons.STG_FILE;
//     }
// 
//     static class Factory extends FileTypeFactory {
//         @Override
//         public void createFileTypes(@NotNull FileTypeConsumer consumer) {
//             consumer.consume(STGroupFileType.INSTANCE);
//         }
//     }
// }
// 
// Path: src/main/java/org/antlr/jetbrains/st4plugin/STGroupLanguage.java
// public class STGroupLanguage extends Language {
//     public static final STGroupLanguage INSTANCE = new STGroupLanguage();
// 
//     private STGroupLanguage() {
//         super("STGroup");
//     }
// }


// Path: src/main/java/org/antlr/jetbrains/st4plugin/psi/STGroupFile.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.STGroupFileType;
import org.antlr.jetbrains.st4plugin.STGroupLanguage;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;

package org.antlr.jetbrains.st4plugin.psi;



public class STGroupFile extends PsiFileBase {

    protected STGroupFile(@NotNull FileViewProvider viewProvider) {
        super(viewProvider, STGroupLanguage.INSTANCE);
    }

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

    @Override
    public String toString() {
        return "String Template group file";
    }

    @Nullable
    @Override
    public Icon getIcon(int flags) {
        return Icons.STG_FILE;