7f7c31df1c
Now there's a Config type, that's extracted from the git config at startup. Note that laziness means that individual config values are only looked up and parsed on demand, and so we get implicit memoization for all of them. So this is not only prettier and more type safe, it optimises several places that didn't have explicit memoization before. As well as getting rid of the ugly explicit memoization code. Not yet done for annex.<remote>.* configuration settings.
31 lines
502 B
Haskell
31 lines
502 B
Haskell
{- git-annex abstract data types
|
|
-
|
|
- Copyright 2010 Joey Hess <joey@kitenet.net>
|
|
-
|
|
- Licensed under the GNU GPL version 3 or higher.
|
|
-}
|
|
|
|
module Types (
|
|
Annex,
|
|
Backend,
|
|
Key,
|
|
UUID(..),
|
|
Config(..),
|
|
Remote,
|
|
RemoteType,
|
|
Option,
|
|
MeterUpdate
|
|
) where
|
|
|
|
import Annex
|
|
import Types.Backend
|
|
import Types.Config
|
|
import Types.Key
|
|
import Types.UUID
|
|
import Types.Remote
|
|
import Types.Option
|
|
import Types.Meters
|
|
|
|
type Backend = BackendA Annex
|
|
type Remote = RemoteA Annex
|
|
type RemoteType = RemoteTypeA Annex
|