X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FOptionalConfiguration.hs;h=4faff205cfd416318a2bbc0fb03fa833fbd34100;hb=1585e5bef7e46666a8f026a00884323c9834565b;hp=2d74d27965e1281f0e816ae45500af9221f67440;hpb=39e047ccd8422207e01247c63f514c40e7eac31e;p=mailbox-count.git diff --git a/src/OptionalConfiguration.hs b/src/OptionalConfiguration.hs index 2d74d27..4faff20 100644 --- a/src/OptionalConfiguration.hs +++ b/src/OptionalConfiguration.hs @@ -20,7 +20,8 @@ import qualified Data.Configurator as DC ( lookup ) import Data.Data ( Data ) import Data.Typeable ( Typeable ) -import Data.Monoid ( Monoid(..) ) +import Data.Monoid ( Monoid() ) +import Data.Semigroup ( Semigroup() ) import Paths_mailbox_count ( getSysconfDir ) import System.Directory ( getHomeDirectory ) import System.FilePath ( () ) @@ -75,8 +76,9 @@ instance Monoid OptionalConfiguration where Nothing Nothing +instance Semigroup OptionalConfiguration where -- | Combine @cfg1@ and @cfg2@, giving precedence to @cfg2@. - cfg1 `mappend` cfg2 = + cfg1 <> cfg2 = OptionalConfiguration (merge_maybes (database cfg1) (database cfg2)) (merge_maybes (detail cfg1) (detail cfg2))