// Path: src/cmake/icons/CMakeIcons.java
// public class CMakeIcons {
//     public static final Icon FILE = IconLoader.getIcon("/icons/cmake.png");
//     public static final Icon MACRO = IconLoader.getIcon("/icons/hashtag.png");
//     public static final Icon FUN = IconLoader.getIcon("/icons/fun.jpg");
//     public static final Icon LOOP = IconLoader.getIcon("/icons/loop.png");
// }
// 
// Path: src/cmake/global/CMakeLanguage.java
// public class CMakeLanguage extends Language {
//     public static final CMakeLanguage INSTANCE = new CMakeLanguage();
// 
//     private CMakeLanguage() {
//         super("CMake");
//     }
// }


import cmake.icons.CMakeIcons;
import cmake.global.CMakeLanguage;
import com.intellij.openapi.fileTypes.LanguageFileType;
import com.intellij.openapi.vfs.CharsetToolkit;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.encoding.EncodingRegistry;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.nio.charset.Charset;
package cmake.filetypes;



/**
 * Defines the association between the file type, extension
 * and language. Registered by the CMakeFileTypeFactory.
 */
public class CMakeFileType extends LanguageFileType {
    public static final CMakeFileType INSTANCE = new CMakeFileType();
    private static final String[] DEFAULT_EXTENSIONS = {"cmake","txt"};

    protected CMakeFileType() {
// Path: src/cmake/icons/CMakeIcons.java
// public class CMakeIcons {
//     public static final Icon FILE = IconLoader.getIcon("/icons/cmake.png");
//     public static final Icon MACRO = IconLoader.getIcon("/icons/hashtag.png");
//     public static final Icon FUN = IconLoader.getIcon("/icons/fun.jpg");
//     public static final Icon LOOP = IconLoader.getIcon("/icons/loop.png");
// }
// 
// Path: src/cmake/global/CMakeLanguage.java
// public class CMakeLanguage extends Language {
//     public static final CMakeLanguage INSTANCE = new CMakeLanguage();
// 
//     private CMakeLanguage() {
//         super("CMake");
//     }
// }


// Path: src/cmake/filetypes/CMakeFileType.java
import cmake.icons.CMakeIcons;
import cmake.global.CMakeLanguage;
import com.intellij.openapi.fileTypes.LanguageFileType;
import com.intellij.openapi.vfs.CharsetToolkit;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.encoding.EncodingRegistry;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.nio.charset.Charset;

package cmake.filetypes;



/**
 * Defines the association between the file type, extension
 * and language. Registered by the CMakeFileTypeFactory.
 */
public class CMakeFileType extends LanguageFileType {
    public static final CMakeFileType INSTANCE = new CMakeFileType();
    private static final String[] DEFAULT_EXTENSIONS = {"cmake","txt"};

    protected CMakeFileType() {
        super(CMakeLanguage.INSTANCE);