{-# OPTIONS_GHC -fno-warn-orphans #-} module Darcs.Patch.V1.Show ( showPatch_ ) where import Darcs.Prelude import Darcs.Patch.Show ( ShowPatchBasic(..), ShowPatchFor(..) ) import Darcs.Patch.V1.Core ( RepoPatchV1(..) ) import Darcs.Util.Printer ( Doc, text, blueText, ($$), (<+>) ) showPatch_ :: ShowPatchBasic prim => prim wX wY -> Doc showPatch_ = showPatch ForDisplay showMerger :: ShowPatchBasic prim => ShowPatchFor -> String -> RepoPatchV1 prim wA wB -> RepoPatchV1 prim wD wE -> Doc showMerger f merger_name p1 p2 = blueText merger_name <+> text "0.0" <+> blueText "(" $$ showPatch f p1 $$ showPatch f p2 $$ blueText ")" instance ShowPatchBasic prim => ShowPatchBasic (RepoPatchV1 prim) where showPatch f (PP p) = showPatch f p showPatch f (Merger _ _ p1 p2) = showMerger f "merger" p1 p2 showPatch f (Regrem _ _ p1 p2) = showMerger f "regrem" p1 p2