Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- class ShowPatchBasic p where
- showPatch :: ShowPatchFor -> p wX wY -> Doc
- displayPatch :: ShowPatchBasic p => p wX wY -> Doc
- data ShowPatchFor
- class ShowPatchBasic p => ShowPatch p where
- class ShowPatchBasic p => ShowContextPatch p where
- showContextPatch :: ApplyMonad (ApplyState p) m => ShowPatchFor -> p wX wY -> m Doc
- formatFileName :: FileNameFormat -> AnchoredPath -> Doc
Documentation
class ShowPatchBasic p where Source #
showPatch :: ShowPatchFor -> p wX wY -> Doc Source #
Instances
displayPatch :: ShowPatchBasic p => p wX wY -> Doc Source #
class ShowPatchBasic p => ShowPatch p where Source #
This class is used only for user interaction, not for storage. The default
implementations for description
and content
are suitable only for
PrimPatch
and RepoPatch
types. Logically, description
should default
to mempty
while content
should default to displayPatch
. We define them
the other way around so that showFriendly
gives
reasonable results for all patch types.
content :: p wX wY -> Doc Source #
description :: p wX wY -> Doc Source #
summary :: p wX wY -> Doc Source #
summaryFL :: FL p wX wY -> Doc Source #
Instances
class ShowPatchBasic p => ShowContextPatch p where Source #
showContextPatch :: ApplyMonad (ApplyState p) m => ShowPatchFor -> p wX wY -> m Doc Source #
showContextPatch is used to add context to a patch, as diff -u does. Thus, it differs from showPatch only for hunks. It is used for instance before putting it into a bundle. As this unified context is not included in patch representation, this requires access to the tree.
Instances
formatFileName :: FileNameFormat -> AnchoredPath -> Doc Source #
Format a AnchoredPath
to a Doc
according to the given FileNameFormat
.
NOTE: This is not only used for display but also to format patch files. This is
why we have to do the white space encoding here.
See writePatchIfNecessary
.
Besides white space encoding, for FileNameFormatV2
we just pack it into a Doc
. For
FileNameFormatV1
we must emulate the non-standard darcs-1 encoding of file paths: it
is an UTF8 encoding of the raw byte stream, interpreted as code points.
See also readFileName
.