diff.go 503 B

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