git-annex/Remote/Helper/Messages.hs

33 lines
765 B
Haskell
Raw Normal View History

{- git-annex remote messages
-
- Copyright 2013 Joey Hess <id@joeyh.name>
-
- Licensed under the GNU GPL version 3 or higher.
-}
2015-08-17 14:42:14 +00:00
{-# LANGUAGE TypeSynonymInstances, FlexibleInstances #-}
module Remote.Helper.Messages where
import Common.Annex
import qualified Git
import qualified Types.Remote as Remote
class Checkable a where
descCheckable :: a -> String
instance Checkable Git.Repo where
descCheckable = Git.repoDescribe
instance Checkable (Remote.RemoteA a) where
descCheckable = Remote.name
2015-08-17 14:42:14 +00:00
instance Checkable String where
descCheckable = id
showChecking :: Checkable a => a -> Annex ()
showChecking v = showAction $ "checking " ++ descCheckable v
cantCheck :: Checkable a => a -> e
cantCheck v = error $ "unable to check " ++ descCheckable v