diff.go

 1package common
 2
 3import (
 4	"github.com/alecthomas/chroma/v2"
 5	"github.com/charmbracelet/crush/internal/tui/exp/diffview"
 6	"github.com/charmbracelet/crush/internal/ui/styles"
 7)
 8
 9// DiffFormatter returns a diff formatter with the given styles that can be
10// used to format diff outputs.
11func DiffFormatter(s *styles.Styles) *diffview.DiffView {
12	formatDiff := diffview.New()
13	style := chroma.MustNewStyle("crush", s.ChromaTheme())
14	diff := formatDiff.ChromaStyle(style).Style(s.Diff).TabWidth(4)
15	return diff
16}