diff --git a/src/vs/workbench/browser/labels.ts b/src/vs/workbench/browser/labels.ts index 4033eaeb75b484ae7423e0022bfb5bf82ede12b3..dfbd18ee310959f5f33c4fb594cc91b0e229f07f 100644 --- a/src/vs/workbench/browser/labels.ts +++ b/src/vs/workbench/browser/labels.ts @@ -180,31 +180,23 @@ export function getIconClasses(modelService: IModelService, modeService: IModeSe } if (path) { - const basename = paths.basename(path); - const dotSegments = basename.split('.'); + const basename = cssEscape(paths.basename(path).toLowerCase()); // Folders if (isFolder) { - if (basename) { - classes.push(`${basename.toLowerCase()}-name-folder-icon`); - } + classes.push(`${basename}-name-folder-icon`); } // Files else { // Name - const name = dotSegments.join('.'); // get the whole name - if (name) { - classes.push(`${cssEscape(name.toLowerCase())}-name-file-icon`); - } + classes.push(`${basename}-name-file-icon`); // Extension(s) - const extensions = dotSegments.splice(1); - if (extensions.length > 0) { - for (let i = 0; i < extensions.length; i++) { - classes.push(`${cssEscape(extensions.slice(i).join('.').toLowerCase())}-ext-file-icon`); // add each combination of all found extensions if more than one - } + const dotSegments = basename.split('.'); + for (let i = 1; i < dotSegments.length; i++) { + classes.push(`${dotSegments.slice(i).join('.')}-ext-file-icon`); // add each combination of all found extensions if more than one } // Configured Language @@ -215,7 +207,6 @@ export function getIconClasses(modelService: IModelService, modeService: IModeSe } } } - return classes; } diff --git a/src/vs/workbench/services/themes/electron-browser/themeService.ts b/src/vs/workbench/services/themes/electron-browser/themeService.ts index 0fb23fda0b5f7def00d331dc4308a025daf7f40e..976c3dd01440a10330f7309c9e156df5f1d22dd8 100644 --- a/src/vs/workbench/services/themes/electron-browser/themeService.ts +++ b/src/vs/workbench/services/themes/electron-browser/themeService.ts @@ -557,8 +557,9 @@ function _processIconThemeDocument(id: string, iconThemeDocumentPath: string, ic if (fileNames) { for (let fileName in fileNames) { let selectors = []; - let segments = fileName.toLowerCase().split('.'); - selectors.push(`.${escapeCSS(fileName.toLowerCase())}-name-file-icon`); + fileName = fileName.toLowerCase(); + selectors.push(`.${escapeCSS(fileName)}-name-file-icon`); + let segments = fileName.split('.'); for (let i = 1; i < segments.length; i++) { selectors.push(`.${escapeCSS(segments.slice(i).join('.'))}-ext-file-icon`); }