/******************************************************************************* * Copyright (c) 2012-2016 Codenvy, S.A. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.ide.ext.web.inject; import com.google.gwt.inject.client.AbstractGinModule; import com.google.inject.Provides; import com.google.inject.Singleton; import com.google.inject.name.Named; import org.eclipse.che.ide.MimeType; import org.eclipse.che.ide.api.extension.ExtensionGinModule; import org.eclipse.che.ide.api.filetypes.FileType; import org.eclipse.che.ide.ext.web.WebExtensionResource; import java.util.Arrays; /** * Adds custom binding for Editors. * * @author Florent Benoit */ @ExtensionGinModule public class WebModule extends AbstractGinModule { @Override protected void configure() { } @Provides @Singleton @Named("CSSFileType") protected FileType provideCSSFile(WebExtensionResource res) { return new FileType("CSS file", res.cssFile(), MimeType.TEXT_CSS, "css"); } @Provides @Singleton @Named("LESSFileType") protected FileType provideLESSFile(WebExtensionResource res) { return new FileType("Leaner CSS file", res.lessFile(), MimeType.TEXT_CSS, "less"); } @Provides @Singleton @Named("JSFileType") protected FileType provideJSFile(WebExtensionResource res) { return new FileType("javaScript", res.jsFile(), MimeType.TEXT_JAVASCRIPT, "js"); } @Provides @Singleton @Named("HTMLFileType") protected FileType provideHTMLFile(WebExtensionResource res) { return new FileType("HTML file", res.htmlFile(), MimeType.TEXT_HTML, "html"); } @Provides @Singleton @Named("PHPFileType") protected FileType providePHPFile(WebExtensionResource res) { return new FileType("PHP file", res.phpFile(), Arrays.asList(MimeType.APPLICATION_X_PHP, "text/x-php"), "php"); } }