@analogjs/platform
Version:
The fullstack meta-framework for Angular
29 lines • 2.76 kB
JavaScript
import { defaultHighlighterOptions, ShikiHighlighter, } from './shiki-highlighter.js';
export { ShikiHighlighter };
let highlighterInstance;
export function getShikiHighlighter({ highlighter = {}, highlight = {}, container = '%s', } = {}) {
if (highlighterInstance) {
return highlighterInstance;
}
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 (highlighter.additionalLangs) {
highlighter.langs.push(...highlighter.additionalLangs);
delete highlighter.additionalLangs;
}
highlighterInstance = new ShikiHighlighter(highlighter, highlight, container, !!highlighter.langs.includes('mermaid'));
return highlighterInstance;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGF0Zm9ybS9zcmMvbGliL2NvbnRlbnQvc2hpa2kvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixnQkFBZ0IsR0FFakIsTUFBTSx3QkFBd0IsQ0FBQztBQUVoQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztBQUU1QixJQUFJLG1CQUFxQyxDQUFDO0FBRTFDLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxFQUNsQyxXQUFXLEdBQUcsRUFBRSxFQUNoQixTQUFTLEdBQUcsRUFBRSxFQUNkLFNBQVMsR0FBRyxJQUFJLE1BQ2UsRUFBRTtJQUNqQyxJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFDeEIsT0FBTyxtQkFBbUIsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN4QixJQUFJLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNwQixXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLENBQUM7YUFBTSxJQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksT0FBTyxTQUFTLENBQUMsTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3BFLFdBQVcsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFhLENBQUM7UUFDbkUsQ0FBQzthQUFNLENBQUM7WUFDTixXQUFXLENBQUMsTUFBTSxHQUFHLHlCQUF5QixDQUFDLE1BQU0sQ0FBQztRQUN4RCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkIsV0FBVyxDQUFDLEtBQUssR0FBRyx5QkFBeUIsQ0FBQyxLQUFLLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ2hDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sV0FBVyxDQUFDLGVBQWUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsbUJBQW1CLEdBQUcsSUFBSSxnQkFBZ0IsQ0FDeEMsV0FBc0MsRUFDdEMsU0FBUyxFQUNULFNBQVMsRUFDVCxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQ3hDLENBQUM7SUFFRixPQUFPLG1CQUFtQixDQUFDO0FBQzdCLENBQUMifQ==