MCPcopy Create free account
hub / github.com/Zoo-Code-Org/Zoo-Code / normalizeLanguage

Function normalizeLanguage

webview-ui/src/utils/highlighter.ts:92–117  ·  view source on GitHub ↗
(language: string | undefined)

Source from the content-addressed store, hash-verified

90
91// Normalize language to a valid Shiki language
92export function normalizeLanguage(language: string | undefined): ExtendedLanguage {
93 if (language === undefined) {
94 return "txt"
95 }
96
97 // Convert to lowercase for consistent matching
98 const normalizedInput = language.toLowerCase()
99
100 // If it's already a valid bundled language, return it
101 if (normalizedInput in bundledLanguages) {
102 return normalizedInput as BundledLanguage
103 }
104
105 // Check if it's an alias
106 if (normalizedInput in languageAliases) {
107 return languageAliases[normalizedInput]
108 }
109
110 // Warn about unrecognized language and default to txt (only once per language)
111 if (language !== "txt" && !warnedLanguages.has(language)) {
112 console.warn(`[Shiki] Unrecognized language '${language}', defaulting to txt.`)
113 warnedLanguages.add(language)
114 }
115
116 return "txt"
117}
118
119// Export function to check if a language is loaded
120export const isLanguageLoaded = (language: string): boolean => {

Callers 4

DiffView.tsxFile · 0.90
CodeBlock.tsxFile · 0.90
isLanguageLoadedFunction · 0.85
getHighlighterFunction · 0.85

Calls 2

hasMethod · 0.65
warnMethod · 0.65

Tested by

no test coverage detected