diff --git a/core/ide/che-core-ide-jseditor/src/main/java/org/eclipse/che/ide/jseditor/client/filetype/ExtensionFileTypeIdentifier.java b/core/ide/che-core-ide-jseditor/src/main/java/org/eclipse/che/ide/jseditor/client/filetype/ExtensionFileTypeIdentifier.java index c27e9b4066f..58b8b0dc2e4 100644 --- a/core/ide/che-core-ide-jseditor/src/main/java/org/eclipse/che/ide/jseditor/client/filetype/ExtensionFileTypeIdentifier.java +++ b/core/ide/che-core-ide-jseditor/src/main/java/org/eclipse/che/ide/jseditor/client/filetype/ExtensionFileTypeIdentifier.java @@ -72,7 +72,9 @@ public void init() { this.mappings.put("js", makeList("application/javascript", "text/javascript")); this.mappings.put("coffee", makeList("text/x-coffeescript")); this.mappings.put("json", makeList("application/json")); - this.mappings.put("ts", makeList("application/typescript")); + this.mappings.put("ts", makeList("application/javascript", "application/typescript")); + this.mappings.put("es6", makeList("application/javascript", "text/javascript")); + this.mappings.put("jsx", makeList("application/javascript", "text/javascript")); this.mappings.put("css", makeList("text/css")); this.mappings.put("scss", makeList("text/x-scss")); diff --git a/plugins/plugin-web/che-plugin-web-ext-web/src/main/java/org/eclipse/che/ide/ext/web/WebExtension.java b/plugins/plugin-web/che-plugin-web-ext-web/src/main/java/org/eclipse/che/ide/ext/web/WebExtension.java index afa86291e18..8524b72e31a 100644 --- a/plugins/plugin-web/che-plugin-web-ext-web/src/main/java/org/eclipse/che/ide/ext/web/WebExtension.java +++ b/plugins/plugin-web/che-plugin-web-ext-web/src/main/java/org/eclipse/che/ide/ext/web/WebExtension.java @@ -51,11 +51,17 @@ public WebExtension(HtmlEditorProvider htmlEditorProvider, WebExtensionResource resources, IconRegistry iconRegistry, @Named("JSFileType") FileType jsFile, - @Named("HTMLFileType") FileType htmlFile) { + @Named("HTMLFileType") FileType htmlFile, + @Named("ES6FileType") FileType es6File, + @Named("JSXFileType") FileType jsxFile, + @Named("TypeScript") FileType typeScriptFile) { // register new Icon for javascript project type iconRegistry.registerIcon(new Icon("JavaScript.samples.category.icon", resources.samplesCategoryJs())); editorRegistry.registerDefaultEditor(jsFile, jsEditorProvider); + editorRegistry.registerDefaultEditor(es6File, jsEditorProvider); + editorRegistry.registerDefaultEditor(jsxFile, jsEditorProvider); + editorRegistry.registerDefaultEditor(typeScriptFile, jsEditorProvider); editorRegistry.registerDefaultEditor(htmlFile, htmlEditorProvider); } @@ -64,11 +70,17 @@ private void registerFileTypes(FileTypeRegistry fileTypeRegistry, @Named("CSSFileType") FileType cssFile, @Named("LESSFileType") FileType lessFile, @Named("JSFileType") FileType jsFile, + @Named("ES6FileType") FileType es6File, + @Named("JSXFileType") FileType jsxFile, + @Named("TypeScript") FileType typeScriptFile, @Named("HTMLFileType") FileType htmlFile, @Named("PHPFileType") FileType phpFile) { fileTypeRegistry.registerFileType(cssFile); fileTypeRegistry.registerFileType(lessFile); fileTypeRegistry.registerFileType(jsFile); + fileTypeRegistry.registerFileType(es6File); + fileTypeRegistry.registerFileType(jsxFile); + fileTypeRegistry.registerFileType(typeScriptFile); fileTypeRegistry.registerFileType(htmlFile); fileTypeRegistry.registerFileType(phpFile); } diff --git a/plugins/plugin-web/che-plugin-web-ext-web/src/main/java/org/eclipse/che/ide/ext/web/inject/WebModule.java b/plugins/plugin-web/che-plugin-web-ext-web/src/main/java/org/eclipse/che/ide/ext/web/inject/WebModule.java index f695922a10b..781d6626c83 100644 --- a/plugins/plugin-web/che-plugin-web-ext-web/src/main/java/org/eclipse/che/ide/ext/web/inject/WebModule.java +++ b/plugins/plugin-web/che-plugin-web-ext-web/src/main/java/org/eclipse/che/ide/ext/web/inject/WebModule.java @@ -54,6 +54,27 @@ protected FileType provideLESSFile(WebExtensionResource res) { protected FileType provideJSFile(WebExtensionResource res) { return new FileType("javaScript", res.jsFile(), MimeType.TEXT_JAVASCRIPT, "js"); } + + @Provides + @Singleton + @Named("ES6FileType") + protected FileType provideES6File(WebExtensionResource res) { + return new FileType("ECMAScript", res.jsFile(), MimeType.TEXT_JAVASCRIPT, "es6"); + } + + @Provides + @Singleton + @Named("JSXFileType") + protected FileType provideJSXFile(WebExtensionResource res) { + return new FileType("JSX JavaScript", res.jsFile(), MimeType.TEXT_JAVASCRIPT, "jsx"); + } + + @Provides + @Singleton + @Named("TypeScript") + protected FileType provideTypeScriptFile(WebExtensionResource res) { + return new FileType("TypeScript", res.jsFile(), MimeType.TEXT_JAVASCRIPT, "ts"); + } @Provides @Singleton