()
| 19 | } |
| 20 | |
| 21 | export async function getShikiHighlighter(): Promise<HighlighterCore> { |
| 22 | if (highlighter) { |
| 23 | return highlighter |
| 24 | } |
| 25 | |
| 26 | highlighterPromise ??= createHighlighterCore({ |
| 27 | themes: [ |
| 28 | import('@shikijs/themes/github-dark'), |
| 29 | import('@shikijs/themes/github-light').then(t => |
| 30 | replaceThemeColors(t.default ?? t, { |
| 31 | '#22863A': '#227436', // green |
| 32 | '#E36209': '#BA4D02', // orange |
| 33 | '#D73A49': '#CD3443', // red |
| 34 | '#B31D28': '#AC222F', // red |
| 35 | }), |
| 36 | ), |
| 37 | ], |
| 38 | langs: [ |
| 39 | // Core web languages |
| 40 | import('@shikijs/langs/javascript'), |
| 41 | import('@shikijs/langs/typescript'), |
| 42 | import('@shikijs/langs/json'), |
| 43 | import('@shikijs/langs/jsonc'), |
| 44 | import('@shikijs/langs/html'), |
| 45 | import('@shikijs/langs/css'), |
| 46 | import('@shikijs/langs/scss'), |
| 47 | import('@shikijs/langs/less'), |
| 48 | |
| 49 | // Frameworks |
| 50 | import('@shikijs/langs/vue'), |
| 51 | import('@shikijs/langs/jsx'), |
| 52 | import('@shikijs/langs/tsx'), |
| 53 | import('@shikijs/langs/svelte'), |
| 54 | import('@shikijs/langs/astro'), |
| 55 | import('@shikijs/langs/glimmer-js'), |
| 56 | import('@shikijs/langs/glimmer-ts'), |
| 57 | |
| 58 | // Shell/CLI |
| 59 | import('@shikijs/langs/bash'), |
| 60 | import('@shikijs/langs/shell'), |
| 61 | |
| 62 | // Config/Data formats |
| 63 | import('@shikijs/langs/yaml'), |
| 64 | import('@shikijs/langs/toml'), |
| 65 | import('@shikijs/langs/xml'), |
| 66 | import('@shikijs/langs/markdown'), |
| 67 | |
| 68 | // Other languages |
| 69 | import('@shikijs/langs/diff'), |
| 70 | import('@shikijs/langs/sql'), |
| 71 | import('@shikijs/langs/graphql'), |
| 72 | import('@shikijs/langs/python'), |
| 73 | import('@shikijs/langs/rust'), |
| 74 | import('@shikijs/langs/go'), |
| 75 | ], |
| 76 | langAlias: { |
| 77 | gjs: 'glimmer-js', |
| 78 | gts: 'glimmer-ts', |
no test coverage detected