MCPcopy Create free account
hub / github.com/MiniCodeMonkey/chief / renderMergeResult

Method renderMergeResult

internal/tui/picker.go:777–871  ·  view source on GitHub ↗

renderMergeResult renders the merge result dialog.

(modalWidth, modalHeight int)

Source from the content-addressed store, hash-verified

775
776// renderMergeResult renders the merge result dialog.
777func (p *PRDPicker) renderMergeResult(modalWidth, modalHeight int) string {
778 var content strings.Builder
779
780 if p.mergeResult.Success {
781 // Success display
782 titleStyle := lipgloss.NewStyle().
783 Bold(true).
784 Foreground(SuccessColor).
785 Padding(0, 1)
786 content.WriteString(titleStyle.Render("Merge Successful"))
787 content.WriteString("\n")
788 content.WriteString(DividerStyle.Render(strings.Repeat("─", modalWidth-4)))
789 content.WriteString("\n\n")
790
791 msgStyle := lipgloss.NewStyle().
792 Foreground(TextColor).
793 Padding(0, 1)
794 content.WriteString(msgStyle.Render(p.mergeResult.Message))
795 content.WriteString("\n")
796 } else {
797 // Error/conflict display
798 titleStyle := lipgloss.NewStyle().
799 Bold(true).
800 Foreground(ErrorColor).
801 Padding(0, 1)
802 content.WriteString(titleStyle.Render("Merge Conflict"))
803 content.WriteString("\n")
804 content.WriteString(DividerStyle.Render(strings.Repeat("─", modalWidth-4)))
805 content.WriteString("\n\n")
806
807 msgStyle := lipgloss.NewStyle().
808 Foreground(TextColor).
809 Padding(0, 1)
810 content.WriteString(msgStyle.Render(p.mergeResult.Message))
811 content.WriteString("\n\n")
812
813 if len(p.mergeResult.Conflicts) > 0 {
814 conflictHeaderStyle := lipgloss.NewStyle().
815 Bold(true).
816 Foreground(WarningColor).
817 Padding(0, 1)
818 content.WriteString(conflictHeaderStyle.Render("Conflicting files:"))
819 content.WriteString("\n")
820
821 conflictStyle := lipgloss.NewStyle().
822 Foreground(MutedColor).
823 Padding(0, 2)
824 maxFiles := modalHeight - 12
825 if maxFiles < 3 {
826 maxFiles = 3
827 }
828 for i, f := range p.mergeResult.Conflicts {
829 if i >= maxFiles {
830 content.WriteString(conflictStyle.Render(fmt.Sprintf(" ... and %d more", len(p.mergeResult.Conflicts)-maxFiles)))
831 content.WriteString("\n")
832 break
833 }
834 content.WriteString(conflictStyle.Render(" " + f))

Callers 1

RenderMethod · 0.95

Calls 3

centerModalMethod · 0.95
RenderMethod · 0.45
StringMethod · 0.45

Tested by

no test coverage detected