diff options
Diffstat (limited to 'Types/Difference.hs')
-rw-r--r-- | Types/Difference.hs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Types/Difference.hs b/Types/Difference.hs index f92a30736..e4562a0d6 100644 --- a/Types/Difference.hs +++ b/Types/Difference.hs @@ -8,12 +8,14 @@ module Types.Difference ( Difference(..), Differences(..), + readDifferences, getDifferences, differenceConfigKey, differenceConfigVal, hasDifference, ) where +import Utility.PartialPrelude import qualified Git import qualified Git.Config @@ -55,9 +57,13 @@ instance Monoid Differences where mappend (Differences l1) (Differences l2) = Differences (canon (l1 ++ l2)) mappend _ _ = UnknownDifferences +-- Canonical form, allowing comparison. canon :: [Difference] -> [Difference] canon = nub . sort +readDifferences :: String -> Differences +readDifferences = maybe UnknownDifferences Differences . readish + getDifferences :: Git.Repo -> Differences getDifferences r = Differences $ catMaybes $ map getmaybe [minBound .. maxBound] |