@@ -47,6 +47,10 @@ function processAssetsSvgFiles(pattern: string, opts: Opts = {}) {
4747 return glob ( pattern ) . map ( ( path ) => processAssetsSvgFile ( path , opts ) ) ;
4848}
4949
50+ function lowercaseKeys ( obj : Record < string , any > ) {
51+ return Object . fromEntries ( Object . entries ( obj ) . map ( ( [ key , value ] ) => [ key . toLowerCase ( ) , value ] ) ) ;
52+ }
53+
5054async function processMaterialFileIcons ( ) {
5155 const paths = glob ( 'node_modules/material-icon-theme/icons/*.svg' ) ;
5256 const svgSymbols : Record < string , string > = { } ;
@@ -76,18 +80,30 @@ async function processMaterialFileIcons() {
7680 // * https://code.visualstudio.com/docs/languages/identifiers#_known-language-identifiers
7781 // * https://github.com/microsoft/vscode/tree/1.98.0/extensions
7882 delete iconRules . iconDefinitions ;
79- for ( const [ k , v ] of Object . entries ( iconRules . fileNames ) ) iconRules . fileNames [ k . toLowerCase ( ) ] = v ;
80- for ( const [ k , v ] of Object . entries ( iconRules . folderNames ) ) iconRules . folderNames [ k . toLowerCase ( ) ] = v ;
81- for ( const [ k , v ] of Object . entries ( iconRules . fileExtensions ) ) iconRules . fileExtensions [ k . toLowerCase ( ) ] = v ;
83+
84+ if ( iconRules . fileNames ) {
85+ iconRules . fileNames = lowercaseKeys ( iconRules . fileNames ) ;
86+ }
87+ if ( iconRules . folderNames ) {
88+ iconRules . folderNames = lowercaseKeys ( iconRules . folderNames ) ;
89+ }
90+ if ( iconRules . fileExtensions ) {
91+ iconRules . fileExtensions = lowercaseKeys ( iconRules . fileExtensions ) ;
92+ }
93+
8294 // Use VSCode's "Language ID" mapping from its extensions
8395 for ( const [ _ , langIdExtMap ] of Object . entries ( vscodeExtensions ) ) {
8496 for ( const [ langId , names ] of Object . entries ( langIdExtMap ) ) {
8597 for ( const name of names ) {
8698 const nameLower = name . toLowerCase ( ) ;
8799 if ( nameLower [ 0 ] === '.' ) {
88- iconRules . fileExtensions [ nameLower . substring ( 1 ) ] ??= langId ;
100+ if ( iconRules . fileExtensions ) {
101+ iconRules . fileExtensions [ nameLower . substring ( 1 ) ] ??= langId ;
102+ }
89103 } else {
90- iconRules . fileNames [ nameLower ] ??= langId ;
104+ if ( iconRules . fileNames ) {
105+ iconRules . fileNames [ nameLower ] ??= langId ;
106+ }
91107 }
92108 }
93109 }
0 commit comments