package com.innovatian.idea.powershell; import com.innovatian.idea.powershell.highlighter.PsEditorHighlighter; import com.innovatian.idea.powershell.lang.PsIcons; import com.intellij.lang.Language; import com.intellij.openapi.editor.colors.EditorColorsScheme; import com.intellij.openapi.editor.highlighter.EditorHighlighter; import com.intellij.openapi.fileTypes.LanguageFileType; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import javax.swing.*; public class PsFileType extends LanguageFileType { public static final PsFileType PS_FILE_TYPE = new PsFileType(); public static final Language PS_LANGUAGE = PS_FILE_TYPE.getLanguage(); @NonNls public static final String DEFAULT_EXTENSION = "ps1"; private PsFileType() { super(new PsLanguage()); } @NotNull @NonNls public String getName() { return "PowerShell"; } @NonNls @NotNull public String getDescription() { return "PowerShell File"; } @NotNull @NonNls public String getDefaultExtension() { return DEFAULT_EXTENSION; } public Icon getIcon() { return PsIcons.FileIcon; } public EditorHighlighter getEditorHighlighter(@Nullable Project project, @Nullable VirtualFile virtualFile, @NotNull EditorColorsScheme colors) { return new PsEditorHighlighter(colors, project, virtualFile); } }