import { useState } from "react"; export function CodeBlock({ code, language = "text", }: { code: string; language?: string; }) { const [status, setStatus] = useState("复制"); async function copy() { try { await navigator.clipboard.writeText(code); setStatus("已复制"); } catch { setStatus("复制失败,请手动选择"); } setTimeout(() => setStatus("复制"), 2400); } return (
{code
.replace(/\n$/, "")
.split("\n")
.map((line, i) => (
{/^(pnpm|uv)\b/.test(line) ? (
<>
{line.split(" ")[0]}
{line.slice(line.indexOf(" "))}
>
) : (
line || "\u00a0"
)}
))}