import { createHighlighter, type Highlighter } from "shiki";

const highlighterPromise = createHighlighter({
    themes: ["catppuccin-macchiato", "catppuccin-latte"],
    langs: [
        "javascript",
        "typescript",
        "jsx",
        "tsx",
        "css",
        "html",
        "json",
        "bash",
        "shellscript",
        "python",
        "markdown",
        "yaml",
        "toml",
        "rust",
        "sql",
        "diff",
        "docker",
        "go",
        "java",
        "kotlin",
        "swift",
        "c",
        "cpp",
        "odin",
        "csharp",
        "php",
        "ruby",
        "lua",
        "scss",
        "vue",
        "svelte",
        "nix",
        "zig",
        "makefile",
        "cmake",
        "powershell",
        "nginx",
        "latex",
        "tex",
    ],
});

export function getHighlighter(): Promise<Highlighter> {
    return highlighterPromise;
}
