提交 a84b2728 编写于 作者: B Benjamin Pasero

icons - add classes for each extension

上级 6110660a
...@@ -397,21 +397,24 @@ export class FileRenderer extends ActionsRenderer implements IRenderer { ...@@ -397,21 +397,24 @@ export class FileRenderer extends ActionsRenderer implements IRenderer {
} }
private fileIconClasses(fsPath: string): string[] { private fileIconClasses(fsPath: string): string[] {
const ext = paths.extname(fsPath);
const basename = paths.basename(fsPath);
const name = basename.substring(0, basename.length - ext.length);
const langId = this.modeService.getModeIdByFilenameOrFirstLine(fsPath);
const classes = ['file-icon']; const classes = ['file-icon'];
if (ext && ext.length > 1) { const basename = paths.basename(fsPath);
classes.push(`${this.cssEscape(ext.substr(1).toLowerCase())}-ext-file-icon`); const dotSegments = basename.split('.');
}
const name = dotSegments[0]; // file.txt => "file", .dockerfile => "", file.some.txt => "file"
if (name) { if (name) {
classes.push(`${this.cssEscape(name.toLowerCase())}-name-file-icon`); classes.push(`${this.cssEscape(name.toLowerCase())}-name-file-icon`);
} }
const extensions = dotSegments.splice(1);
if (extensions.length > 0) {
for (let i = 0; i < extensions.length; i++) {
classes.push(`${this.cssEscape(extensions.slice(i).join('.').toLowerCase())}-ext-file-icon`); // add each combination of all found extensions if more than one
}
}
const langId = this.modeService.getModeIdByFilenameOrFirstLine(fsPath);
if (langId) { if (langId) {
classes.push(`${this.cssEscape(langId)}-lang-file-icon`); classes.push(`${this.cssEscape(langId)}-lang-file-icon`);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册