diff options
| author | Kujtim Hoxha <[email protected]> | 2025-04-18 20:17:38 +0200 |
|---|---|---|
| committer | Kujtim Hoxha <[email protected]> | 2025-04-21 13:42:27 +0200 |
| commit | 333ea6ec4b2abfc2c1a9c3f6b0918ca5d296347f (patch) | |
| tree | e0d456417368e8716c81ee43b82be3d6ed39c59e /internal/diff/diff.go | |
| parent | 05d0e86f10369fd0e51a924ac88029fb92591499 (diff) | |
| download | opencode-333ea6ec4b2abfc2c1a9c3f6b0918ca5d296347f.tar.gz opencode-333ea6ec4b2abfc2c1a9c3f6b0918ca5d296347f.zip | |
implement patch, update ui, improve rendering
Diffstat (limited to 'internal/diff/diff.go')
| -rw-r--r-- | internal/diff/diff.go | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/internal/diff/diff.go b/internal/diff/diff.go index f48079c9c..7b48de25f 100644 --- a/internal/diff/diff.go +++ b/internal/diff/diff.go @@ -79,8 +79,9 @@ type linePair struct { // StyleConfig defines styling for diff rendering type StyleConfig struct { - ShowHeader bool - FileNameFg lipgloss.Color + ShowHeader bool + ShowHunkHeader bool + FileNameFg lipgloss.Color // Background colors RemovedLineBg lipgloss.Color AddedLineBg lipgloss.Color @@ -111,7 +112,8 @@ func NewStyleConfig(opts ...StyleOption) StyleConfig { // Default color scheme config := StyleConfig{ ShowHeader: true, - FileNameFg: lipgloss.Color("#fab283"), + ShowHunkHeader: true, + FileNameFg: lipgloss.Color("#a0a0a0"), RemovedLineBg: lipgloss.Color("#3A3030"), AddedLineBg: lipgloss.Color("#303A30"), ContextLineBg: lipgloss.Color("#212121"), @@ -204,6 +206,10 @@ func WithShowHeader(show bool) StyleOption { return func(s *StyleConfig) { s.ShowHeader = show } } +func WithShowHunkHeader(show bool) StyleOption { + return func(s *StyleConfig) { s.ShowHunkHeader = show } +} + // ------------------------------------------------------------------------- // Parse Configuration // ------------------------------------------------------------------------- @@ -914,13 +920,15 @@ func FormatDiff(diffText string, opts ...SideBySideOption) (string, error) { for _, h := range diffResult.Hunks { // Render hunk header - sb.WriteString( - lipgloss.NewStyle(). - Background(config.Style.HunkLineBg). - Foreground(config.Style.HunkLineFg). - Width(config.TotalWidth). - Render(h.Header) + "\n", - ) + if config.Style.ShowHunkHeader { + sb.WriteString( + lipgloss.NewStyle(). + Background(config.Style.HunkLineBg). + Foreground(config.Style.HunkLineFg). + Width(config.TotalWidth). + Render(h.Header) + "\n", + ) + } sb.WriteString(RenderSideBySideHunk(diffResult.OldFile, h, opts...)) } |
