enhance(frontend): shiki v1に移行 (#13138)
* enhance(frontend): shiki v1に移行 * optimize chunks, エラーを握りつぶす * wasmを分離 * バンドルサイズの警告の最小値を650kBに引き上げ * optimize
This commit is contained in:
parent
e5876440cb
commit
9e1145df81
5 changed files with 37 additions and 52 deletions
|
@ -1,7 +1,6 @@
|
|||
import { setWasm, setCDN, Highlighter, getHighlighter as _getHighlighter } from 'shiki';
|
||||
|
||||
setWasm('/assets/shiki/dist/onig.wasm');
|
||||
setCDN('/assets/shiki/');
|
||||
import { getHighlighterCore, loadWasm } from 'shiki/core';
|
||||
import darkPlus from 'shiki/themes/dark-plus.mjs';
|
||||
import type { Highlighter, LanguageRegistration } from 'shiki';
|
||||
|
||||
let _highlighter: Highlighter | null = null;
|
||||
|
||||
|
@ -13,16 +12,19 @@ export async function getHighlighter(): Promise<Highlighter> {
|
|||
}
|
||||
|
||||
export async function initHighlighter() {
|
||||
const highlighter = await _getHighlighter({
|
||||
theme: 'dark-plus',
|
||||
langs: ['js'],
|
||||
});
|
||||
const aiScriptGrammar = await import('aiscript-vscode/aiscript/syntaxes/aiscript.tmLanguage.json');
|
||||
|
||||
await highlighter.loadLanguage({
|
||||
path: 'languages/aiscript.tmLanguage.json',
|
||||
id: 'aiscript',
|
||||
scopeName: 'source.aiscript',
|
||||
aliases: ['is', 'ais'],
|
||||
await loadWasm(import('shiki/onig.wasm?init'));
|
||||
|
||||
const highlighter = await getHighlighterCore({
|
||||
themes: [darkPlus],
|
||||
langs: [
|
||||
import('shiki/langs/javascript.mjs'),
|
||||
{
|
||||
aliases: ['is', 'ais'],
|
||||
...aiScriptGrammar.default,
|
||||
} as unknown as LanguageRegistration,
|
||||
],
|
||||
});
|
||||
|
||||
_highlighter = highlighter;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue