UNPKG

@analogjs/platform

Version:

The fullstack meta-framework for Angular

38 lines 3.83 kB
import { defaultHighlighterOptions, ShikiHighlighter, } from './shiki-highlighter.js'; export { ShikiHighlighter }; let highlighterInstance; export function getShikiHighlighter({ highlighter = {}, highlight = {}, container = '%s', } = {}) { if (highlighterInstance) { return highlighterInstance; } const additionalLangs = highlighter.additionalLangs ?? []; const skipLangs = highlighter.skipLangs ?? []; const hasMermaidSupport = highlighter.langs?.includes('mermaid') || additionalLangs.includes('mermaid'); if (!highlighter.themes) { if (highlight.theme) { highlighter.themes = [highlight.theme]; } else if (highlight.themes && typeof highlight.themes === 'object') { highlighter.themes = Object.values(highlight.themes); } else { highlighter.themes = defaultHighlighterOptions.themes; } } if (!highlighter.langs) { highlighter.langs = [...defaultHighlighterOptions.langs]; } if (additionalLangs.length > 0) { highlighter.langs.push(...additionalLangs); } if (skipLangs.length > 0) { const skipSet = new Set(skipLangs); highlighter.langs = highlighter.langs.filter((lang) => typeof lang !== 'string' || !skipSet.has(lang)); } delete highlighter.additionalLangs; delete highlighter.skipLangs; highlighterInstance = new ShikiHighlighter(highlighter, highlight, container, hasMermaidSupport, skipLangs); return highlighterInstance; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGF0Zm9ybS9zcmMvbGliL2NvbnRlbnQvc2hpa2kvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixnQkFBZ0IsR0FFakIsTUFBTSx3QkFBd0IsQ0FBQztBQUVoQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztBQUU1QixJQUFJLG1CQUFxQyxDQUFDO0FBRTFDLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxFQUNsQyxXQUFXLEdBQUcsRUFBRSxFQUNoQixTQUFTLEdBQUcsRUFBRSxFQUNkLFNBQVMsR0FBRyxJQUFJLE1BQ2UsRUFBRTtJQUNqQyxJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFDeEIsT0FBTyxtQkFBbUIsQ0FBQztJQUM3QixDQUFDO0lBRUQsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUM7SUFDMUQsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7SUFDOUMsTUFBTSxpQkFBaUIsR0FDckIsV0FBVyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDO1FBQ3RDLGVBQWUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFdEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN4QixJQUFJLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNwQixXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLENBQUM7YUFBTSxJQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksT0FBTyxTQUFTLENBQUMsTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3BFLFdBQVcsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFhLENBQUM7UUFDbkUsQ0FBQzthQUFNLENBQUM7WUFDTixXQUFXLENBQUMsTUFBTSxHQUFHLHlCQUF5QixDQUFDLE1BQU0sQ0FBQztRQUN4RCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkIsV0FBVyxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUMvQixXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDekIsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQVMsU0FBUyxDQUFDLENBQUM7UUFDM0MsV0FBVyxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDMUMsQ0FBQyxJQUFhLEVBQUUsRUFBRSxDQUFDLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQ2xFLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxXQUFXLENBQUMsZUFBZSxDQUFDO0lBQ25DLE9BQU8sV0FBVyxDQUFDLFNBQVMsQ0FBQztJQUU3QixtQkFBbUIsR0FBRyxJQUFJLGdCQUFnQixDQUN4QyxXQUFzQyxFQUN0QyxTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixFQUNqQixTQUFTLENBQ1YsQ0FBQztJQUVGLE9BQU8sbUJBQW1CLENBQUM7QUFDN0IsQ0FBQyJ9