| ... | @@ -66,7 +66,7 @@ function toLowercaseLookup(source: Record<string, string>): Record<string, strin | ... | @@ -66,7 +66,7 @@ function toLowercaseLookup(source: Record<string, string>): Record<string, strin |
| 66 | return lookup; | 66 | return lookup; |
| 67 | } | 67 | } |
| 68 | | 68 | |
| 69 | function basenameOfPath(pathValue: string): string { | 69 | export function basenameOfPath(pathValue: string): string { |
| 70 | const slashIndex = pathValue.lastIndexOf("/"); | 70 | const slashIndex = pathValue.lastIndexOf("/"); |
| 71 | if (slashIndex === -1) return pathValue; | 71 | if (slashIndex === -1) return pathValue; |
| 72 | return pathValue.slice(slashIndex + 1); | 72 | return pathValue.slice(slashIndex + 1); |
| ... | @@ -88,7 +88,10 @@ function extensionCandidates(fileName: string): string[] { | ... | @@ -88,7 +88,10 @@ function extensionCandidates(fileName: string): string[] { |
| 88 | return [...candidates]; | 88 | return [...candidates]; |
| 89 | } | 89 | } |
| 90 | | 90 | |
| 91 | function resolveLanguageFallbackDefinition(pathValue: string, theme: "light" | "dark"): string | null { | 91 | function resolveLanguageFallbackDefinition( |
| | 92 | pathValue: string, |
| | 93 | theme: "light" | "dark", |
| | 94 | ): string | null { |
| 92 | const basename = basenameOfPath(pathValue).toLowerCase(); | 95 | const basename = basenameOfPath(pathValue).toLowerCase(); |
| 93 | const languageIds = theme === "light" ? lightLanguageIds : darkLanguageIds; | 96 | const languageIds = theme === "light" ? lightLanguageIds : darkLanguageIds; |
| 94 | | 97 | |
| ... | @@ -99,8 +102,9 @@ function resolveLanguageFallbackDefinition(pathValue: string, theme: "light" | " | ... | @@ -99,8 +102,9 @@ function resolveLanguageFallbackDefinition(pathValue: string, theme: "light" | " |
| 99 | | 102 | |
| 100 | for (const candidate of extensionCandidates(basename)) { | 103 | for (const candidate of extensionCandidates(basename)) { |
| 101 | const languageId = | 104 | const languageId = |
| 102 | localLanguageIdByExtensionOverrides[candidate as keyof typeof localLanguageIdByExtensionOverrides] ?? | 105 | localLanguageIdByExtensionOverrides[ |
| 103 | languageIdByExtension[candidate]; | 106 | candidate as keyof typeof localLanguageIdByExtensionOverrides |
| | 107 | ] ?? languageIdByExtension[candidate]; |
| 104 | if (!languageId) continue; | 108 | if (!languageId) continue; |
| 105 | return languageIds[languageId] ?? darkLanguageIds[languageId] ?? null; | 109 | return languageIds[languageId] ?? darkLanguageIds[languageId] ?? null; |
| 106 | } | 110 | } |