shiki highlighter server
powered by
pastemyst
(untitled)
TypeScript
import { getHighlighter, loadTheme } from "shiki"; import ws from "ws"; const websocket = new ws.Server({ port: 1234 }); let theme; let highlighter; const init = async () => { highlighter = await getHighlighter({ theme: "material-darker" }); }; (async () => { try { await init(); } catch (e) { } })(); websocket.on("connection", (s) => { s.on("message", async (msg) => { const content = msg.toString(); const res = await shikiHighlight(content); s.send(res); }); }); const shikiHighlight = async (content: string): Promise<string> => { return highlighter.codeToHtml(content, "ts"); };