import { FileDiffOptions } from "@pierre/precision-diffs" export function createDefaultOptions(style: FileDiffOptions["diffStyle"]) { return { theme: "OpenCode", themeType: "system", disableLineNumbers: false, overflow: "wrap", diffStyle: style, diffIndicators: "bars", disableBackground: false, expansionLineCount: 20, lineDiffType: style === "split" ? "word-alt" : "none", maxLineDiffLength: 1000, maxLineLengthForHighlighting: 1000, disableFileHeader: true, // hunkSeparators(hunkData: HunkData) { // const fragment = document.createDocumentFragment() // const numCol = document.createElement("div") // numCol.innerHTML = ` ` // numCol.dataset["slot"] = "diff-hunk-separator-line-number" // fragment.appendChild(numCol) // const contentCol = document.createElement("div") // contentCol.dataset["slot"] = "diff-hunk-separator-content" // const span = document.createElement("span") // span.dataset["slot"] = "diff-hunk-separator-content-span" // span.textContent = `${hunkData.lines} unmodified lines` // contentCol.appendChild(span) // fragment.appendChild(contentCol) // return fragment // }, } as const } export const styleVariables = { "--pjs-font-family": "var(--font-family-mono)", "--pjs-font-size": "var(--font-size-small)", "--pjs-line-height": "24px", "--pjs-tab-size": 2, "--pjs-font-features": "var(--font-family-mono--font-feature-settings)", "--pjs-header-font-family": "var(--font-family-sans)", "--pjs-gap-block": 0, "--pjs-min-number-column-width": "4ch", }