summaryrefslogtreecommitdiff
path: root/Remote/Helper/Messages.hs
blob: 377f2d2313eb4473b2750a061c0cfbf3b799ee98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
{- git-annex remote messages
 -
 - Copyright 2013 Joey Hess <id@joeyh.name>
 -
 - Licensed under the GNU GPL version 3 or higher.
 -}

{-# 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

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