MCPcopy Create free account
hub / github.com/UsefulSoftwareCo/executor / ensureLang

Function ensureLang

packages/react/src/lib/shiki.ts:174–200  ·  view source on GitHub ↗
(lang: SupportedLang, onLoaded?: () => void)

Source from the content-addressed store, hash-verified

172const loadingLangs = new Set<string>();
173
174export function ensureLang(lang: SupportedLang, onLoaded?: () => void): boolean {
175 const loaded = highlighter.getLoadedLanguages();
176 if (loaded.includes(lang)) return true;
177
178 const loader = LAZY_LANG_LOADERS[lang];
179 if (!loader) return true; // Not a lazy lang, must be already loaded
180
181 if (!loadingLangs.has(lang)) {
182 loadingLangs.add(lang);
183 void loader().then((mod: any) => {
184 const registration = mod.default ?? mod;
185 highlighter.loadLanguageSync(registration);
186 loadingLangs.delete(lang);
187 onLoaded?.();
188 });
189 } else if (onLoaded) {
190 const l = loader;
191 void l().then((mod: any) => {
192 const registration = mod.default ?? mod;
193 if (!highlighter.getLoadedLanguages().includes(lang)) {
194 highlighter.loadLanguageSync(registration);
195 }
196 onLoaded();
197 });
198 }
199 return false;
200}
201
202// ---------------------------------------------------------------------------
203// Streamdown code highlighter plugin

Callers 2

useHighlightedFunction · 0.90
highlightFunction · 0.85

Calls 2

loaderFunction · 0.85
deleteMethod · 0.65

Tested by

no test coverage detected