import Prism from "prismjs"; import loadLanguages from "prismjs/components/index.js"; import { addAstro } from "./plugin.js"; const languageMap = /* @__PURE__ */ new Map([["ts", "typescript"]]); function runHighlighterWithAstro(lang, code) { if (!lang) { lang = "plaintext"; } let classLanguage = `language-${lang}`; const ensureLoaded = (language) => { if (language && !Prism.languages[language]) { loadLanguages([language]); } }; if (languageMap.has(lang)) { ensureLoaded(languageMap.get(lang)); } else if (lang === "astro") { ensureLoaded("typescript"); addAstro(Prism); } else { ensureLoaded("markup-templating"); ensureLoaded(lang); } if (lang && !Prism.languages[lang]) { console.warn(`Unable to load the language: ${lang}`); } const grammar = Prism.languages[lang]; let html = code; if (grammar) { html = Prism.highlight(code, grammar, lang); } return { classLanguage, html }; } export { runHighlighterWithAstro };