diff --git a/extensions/html/package.json b/extensions/html/package.json
index b126b1f8f48..29bfa7f950e 100644
--- a/extensions/html/package.json
+++ b/extensions/html/package.json
@@ -11,7 +11,6 @@
"mimetypes": ["text/html", "text/x-jshtm", "text/template", "text/ng-template", "application/xhtml+xml"]
}],
"grammars": [{
- /* "language": "html", not yet enabled*/
"scopeName": "text.html.basic",
"path": "./syntaxes/HTML.plist"
}]
diff --git a/extensions/theme-seti/build/update-icon-theme.js b/extensions/theme-seti/build/update-icon-theme.js
index c8ff7733533..091712b2957 100644
--- a/extensions/theme-seti/build/update-icon-theme.js
+++ b/extensions/theme-seti/build/update-icon-theme.js
@@ -54,6 +54,35 @@ function invertColor(color) {
return res;
}
+function getLanguageMappings() {
+ var langToExt = {
+ 'csharp': ['cs', 'csx']
+ };
+
+ var allExtensions = fs.readdirSync('..');
+ for (var i= 0; i < allExtensions.length; i++) {
+ let dirPath = path.join('..', allExtensions[i], 'package.json');
+ if (!fs.lstatSync(path.join('..', allExtensions[i])).isDirectory() || !fs.lstatSync(dirPath).isFile()) {
+ continue;
+ }
+
+ let content = fs.readFileSync(dirPath).toString();
+ let jsonContent = JSON.parse(content);
+ let languages = jsonContent.contributes && jsonContent.contributes.languages;
+ if (Array.isArray(languages)) {
+ for (var k = 0; k < languages.length; k++) {
+ var extensions = languages[k].extensions;
+ var languageId = languages[k].id;
+ if (Array.isArray(extensions) && languageId) {
+ langToExt[languageId] = extensions.map(function (e) { return e.substr(1); });
+ }
+ }
+ }
+ }
+
+ return langToExt;
+}
+
exports.update = function () {
var fontMappings = 'https://raw.githubusercontent.com/jesseweed/seti-ui/master/styles/_fonts/seti.less';
@@ -63,6 +92,7 @@ exports.update = function () {
var fileName2Def = {};
var def2ColorId = {};
var colorId2Value = {};
+ var lang2Def = {};
function writeFileIconContent(info) {
var iconDefinitions = {};
@@ -106,14 +136,16 @@ exports.update = function () {
file: "_default",
fileExtensions: ext2Def,
fileNames: fileName2Def,
+ languageIds: lang2Def,
light: {
file: "_default_light",
fileExtensions: getInvertSet(ext2Def),
+ languageIds: getInvertSet(lang2Def),
fileNames: getInvertSet(fileName2Def)
},
version: 'https://github.com/jesseweed/seti-ui/commit/' + info.commitSha,
};
- fs.writeFileSync('./icons/seti-icon-theme.json', JSON.stringify(res, null, '\t'));
+ fs.writeFileSync('./icons/vs-seti-icon-theme.json', JSON.stringify(res, null, '\t'));
}
@@ -140,6 +172,26 @@ exports.update = function () {
}
def2ColorId[def] = colorId;
}
+ // replace extensions for languageId
+ var langToExt = getLanguageMappings();
+ for (var lang in langToExt) {
+ var exts = langToExt[lang];
+ var preferredDef = null;
+ // use the first file association for the preferred definition
+ for (var i1 = 0; i1 < exts.length && !preferredDef; i1++) {
+ preferredDef = ext2Def[exts[i1]];
+ }
+ if (preferredDef) {
+ lang2Def[lang] = preferredDef;
+ for (var i1 = 0; i1 < exts.length; i1++) {
+ // remove the extention association, unless it is different from the preferred
+ if (ext2Def[exts[i1]] === preferredDef) {
+ delete ext2Def[exts[i1]];
+ }
+ }
+ }
+ }
+
var colors = 'https://raw.githubusercontent.com/jesseweed/seti-ui/master/styles/ui-variables.less';
return download(colors).then(function (content) {
var regex3 = /(@[\w-]+):\s*(#[0-9a-z]+)/g;
@@ -156,7 +208,7 @@ exports.update = function () {
console.error(e);
}
});
- });
+ });
});
}, console.error);
}
diff --git a/extensions/theme-seti/icons/vs-seti-icon-theme.json b/extensions/theme-seti/icons/vs-seti-icon-theme.json
index fbf3e22199c..58e9d244dfc 100644
--- a/extensions/theme-seti/icons/vs-seti-icon-theme.json
+++ b/extensions/theme-seti/icons/vs-seti-icon-theme.json
@@ -701,16 +701,9 @@
},
"file": "_default",
"fileExtensions": {
- "cpp": "_cpp",
- "c": "_c",
- "cs": "_c-sharp",
- "cc": "_cpp",
"cfc": "_coldfusion",
"cfm": "_coldfusion",
- "coffee": "_coffee",
- "config": "_config",
"cson": "_json",
- "css": "_css",
"css.map": "_css",
"sss": "_css",
"csv": "_csv",
@@ -719,14 +712,11 @@
"elm": "_elm",
"ico": "_favicon",
"gitignore": "_github",
- "gitconfig": "_github",
"gitkeep": "_github",
"gitattributes": "_github",
- "go": "_go2",
"slide": "_go",
"article": "_go",
"gradle": "_gradle",
- "groovy": "_grails",
"gsp": "_grails",
"hh": "_hacklang",
"haml": "_haml",
@@ -735,57 +725,37 @@
"hjs": "_mustache",
"hs": "_haskell",
"lhs": "_haskell",
- "html": "_html",
- "jade": "_jade",
- "java": "_java",
"class": "_java",
"classpath": "_java",
- "js": "_javascript",
"js.map": "_javascript",
"es": "_javascript",
"es5": "_javascript",
- "es6": "_javascript",
"es7": "_javascript",
- "json": "_json",
"jl": "_julia",
- "less": "_less",
"liquid": "_liquid",
"ls": "_livescript",
- "lua": "_lua",
- "markdown": "_markdown",
- "md": "_markdown",
"mustache": "_mustache",
"stache": "_mustache",
"npm-debug.log": "_npm",
"npmignore": "_npm",
"h": "_c",
- "m": "_c",
"ml": "_ocaml",
"mli": "_ocaml",
"cmx": "_ocaml",
"cmxa": "_ocaml",
- "pl": "_perl",
- "php": "_php",
"php.inc": "_php",
"pug": "_pug",
"pp": "_puppet",
- "py": "_python",
- "jsx": "_react",
"cjsx": "_react",
- "tsx": "_react",
- "rb": "_ruby",
"erb": "_ruby",
"erb.html": "_ruby",
"html.erb": "_ruby",
- "rs": "_rust",
"sass": "_sass",
- "scss": "_sass",
"slim": "_slim",
"smarty.tpl": "_smarty",
"sbt": "_sbt",
"scala": "_scala",
"styl": "_stylus",
- "swift": "_swift",
"tf": "_terraform",
"tf.json": "_terraform",
"tex": "_tex",
@@ -795,12 +765,9 @@
"ins": "_tex",
"txt": "_default",
"twig": "_twig",
- "ts": "_typescript",
"vala": "_vala",
"vapi": "_vala",
"xml": "_xml",
- "yml": "_yml",
- "yaml": "_yml",
"ai": "_illustrator",
"psd": "_photoshop",
"pdf": "_pdf",
@@ -814,11 +781,7 @@
"jpeg": "_image",
"svg": "_svg",
"svgx": "_image",
- "cmd": "_shell",
- "sh": "_shell",
- "zsh": "_shell",
"fish": "_shell",
- "zshrc": "_shell",
"mov": "_video",
"ogv": "_video",
"webm": "_video",
@@ -865,19 +828,45 @@
"TODO": "_todo",
"npm-debug.log": "_npm_ignored"
},
+ "languageIds": {
+ "csharp": "_c-sharp",
+ "bat": "_shell",
+ "coffeescript": "_coffee",
+ "c": "_c",
+ "cpp": "_cpp",
+ "css": "_css",
+ "go": "_go2",
+ "groovy": "_grails",
+ "html": "_html",
+ "ini": "_github",
+ "jade": "_jade",
+ "java": "_java",
+ "javascriptreact": "_react",
+ "javascript": "_javascript",
+ "json": "_json",
+ "less": "_less",
+ "lua": "_lua",
+ "markdown": "_markdown",
+ "objective-c": "_c",
+ "perl": "_perl",
+ "php": "_php",
+ "python": "_python",
+ "ruby": "_ruby",
+ "rust": "_rust",
+ "scss": "_sass",
+ "shellscript": "_shell",
+ "swift": "_swift",
+ "typescript": "_typescript",
+ "typescriptreact": "_react",
+ "xml": "_config",
+ "yaml": "_yml"
+ },
"light": {
"file": "_default_light",
"fileExtensions": {
- "cpp": "_cpp_light",
- "c": "_c_light",
- "cs": "_c-sharp_light",
- "cc": "_cpp_light",
"cfc": "_coldfusion_light",
"cfm": "_coldfusion_light",
- "coffee": "_coffee_light",
- "config": "_config_light",
"cson": "_json_light",
- "css": "_css_light",
"css.map": "_css_light",
"sss": "_css_light",
"csv": "_csv_light",
@@ -886,14 +875,11 @@
"elm": "_elm_light",
"ico": "_favicon_light",
"gitignore": "_github_light",
- "gitconfig": "_github_light",
"gitkeep": "_github_light",
"gitattributes": "_github_light",
- "go": "_go2_light",
"slide": "_go_light",
"article": "_go_light",
"gradle": "_gradle_light",
- "groovy": "_grails_light",
"gsp": "_grails_light",
"hh": "_hacklang_light",
"haml": "_haml_light",
@@ -902,57 +888,37 @@
"hjs": "_mustache_light",
"hs": "_haskell_light",
"lhs": "_haskell_light",
- "html": "_html_light",
- "jade": "_jade_light",
- "java": "_java_light",
"class": "_java_light",
"classpath": "_java_light",
- "js": "_javascript_light",
"js.map": "_javascript_light",
"es": "_javascript_light",
"es5": "_javascript_light",
- "es6": "_javascript_light",
"es7": "_javascript_light",
- "json": "_json_light",
"jl": "_julia_light",
- "less": "_less_light",
"liquid": "_liquid_light",
"ls": "_livescript_light",
- "lua": "_lua_light",
- "markdown": "_markdown_light",
- "md": "_markdown_light",
"mustache": "_mustache_light",
"stache": "_mustache_light",
"npm-debug.log": "_npm_light",
"npmignore": "_npm_light",
"h": "_c_light",
- "m": "_c_light",
"ml": "_ocaml_light",
"mli": "_ocaml_light",
"cmx": "_ocaml_light",
"cmxa": "_ocaml_light",
- "pl": "_perl_light",
- "php": "_php_light",
"php.inc": "_php_light",
"pug": "_pug_light",
"pp": "_puppet_light",
- "py": "_python_light",
- "jsx": "_react_light",
"cjsx": "_react_light",
- "tsx": "_react_light",
- "rb": "_ruby_light",
"erb": "_ruby_light",
"erb.html": "_ruby_light",
"html.erb": "_ruby_light",
- "rs": "_rust_light",
"sass": "_sass_light",
- "scss": "_sass_light",
"slim": "_slim_light",
"smarty.tpl": "_smarty_light",
"sbt": "_sbt_light",
"scala": "_scala_light",
"styl": "_stylus_light",
- "swift": "_swift_light",
"tf": "_terraform_light",
"tf.json": "_terraform_light",
"tex": "_tex_light",
@@ -962,12 +928,9 @@
"ins": "_tex_light",
"txt": "_default_light",
"twig": "_twig_light",
- "ts": "_typescript_light",
"vala": "_vala_light",
"vapi": "_vala_light",
"xml": "_xml_light",
- "yml": "_yml_light",
- "yaml": "_yml_light",
"ai": "_illustrator_light",
"psd": "_photoshop_light",
"pdf": "_pdf_light",
@@ -981,11 +944,7 @@
"jpeg": "_image_light",
"svg": "_svg_light",
"svgx": "_image_light",
- "cmd": "_shell_light",
- "sh": "_shell_light",
- "zsh": "_shell_light",
"fish": "_shell_light",
- "zshrc": "_shell_light",
"mov": "_video_light",
"ogv": "_video_light",
"webm": "_video_light",
@@ -1006,6 +965,39 @@
"tmp": "_clock_light",
"DS_Store": "_ignored_light"
},
+ "languageIds": {
+ "csharp": "_c-sharp_light",
+ "bat": "_shell_light",
+ "coffeescript": "_coffee_light",
+ "c": "_c_light",
+ "cpp": "_cpp_light",
+ "css": "_css_light",
+ "go": "_go2_light",
+ "groovy": "_grails_light",
+ "html": "_html_light",
+ "ini": "_github_light",
+ "jade": "_jade_light",
+ "java": "_java_light",
+ "javascriptreact": "_react_light",
+ "javascript": "_javascript_light",
+ "json": "_json_light",
+ "less": "_less_light",
+ "lua": "_lua_light",
+ "markdown": "_markdown_light",
+ "objective-c": "_c_light",
+ "perl": "_perl_light",
+ "php": "_php_light",
+ "python": "_python_light",
+ "ruby": "_ruby_light",
+ "rust": "_rust_light",
+ "scss": "_sass_light",
+ "shellscript": "_shell_light",
+ "swift": "_swift_light",
+ "typescript": "_typescript_light",
+ "typescriptreact": "_react_light",
+ "xml": "_config_light",
+ "yaml": "_yml_light"
+ },
"fileNames": {
"karma.conf.js": "_karma_light",
"karma.conf.coffee": "_karma_light",