@@ -47,6 +47,11 @@ function processAssetsSvgFiles(pattern: string, opts: Opts = {}) {
4747 return glob ( pattern ) . map ( ( path ) => processAssetsSvgFile ( path , opts ) ) ;
4848}
4949
50+ function lowercaseKeys ( obj : Record < string , any > | undefined ) {
51+ if ( ! obj ) return obj ;
52+ return Object . fromEntries ( Object . entries ( obj ) . map ( ( [ key , value ] ) => [ key . toLowerCase ( ) , value ] ) ) ;
53+ }
54+
5055async function processMaterialFileIcons ( ) {
5156 const paths = glob ( 'node_modules/material-icon-theme/icons/*.svg' ) ;
5257 const svgSymbols : Record < string , string > = { } ;
@@ -76,18 +81,24 @@ async function processMaterialFileIcons() {
7681 // * https://code.visualstudio.com/docs/languages/identifiers#_known-language-identifiers
7782 // * https://github.com/microsoft/vscode/tree/1.98.0/extensions
7883 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 ;
84+
85+ iconRules . fileNames = lowercaseKeys ( iconRules . fileNames ) ;
86+ iconRules . folderNames = lowercaseKeys ( iconRules . fileNames ) ;
87+ iconRules . fileExtensions = lowercaseKeys ( iconRules . fileNames ) ;
88+
8289 // Use VSCode's "Language ID" mapping from its extensions
8390 for ( const [ _ , langIdExtMap ] of Object . entries ( vscodeExtensions ) ) {
8491 for ( const [ langId , names ] of Object . entries ( langIdExtMap ) ) {
8592 for ( const name of names ) {
8693 const nameLower = name . toLowerCase ( ) ;
8794 if ( nameLower [ 0 ] === '.' ) {
88- iconRules . fileExtensions [ nameLower . substring ( 1 ) ] ??= langId ;
95+ if ( iconRules . fileExtensions ) {
96+ iconRules . fileExtensions [ nameLower . substring ( 1 ) ] ??= langId ;
97+ }
8998 } else {
90- iconRules . fileNames [ nameLower ] ??= langId ;
99+ if ( iconRules . fileNames ) {
100+ iconRules . fileNames [ nameLower ] ??= langId ;
101+ }
91102 }
92103 }
93104 }
0 commit comments