{-# LANGUAGE DeriveGeneric #-}
module Vgrep.Environment.Config.Monoid
( ConfigMonoid (..)
, ColorsMonoid (..)
, KeybindingsMonoid (..)
) where
import Data.Monoid
import Generics.Deriving.Monoid (mappenddefault, memptydefault)
import GHC.Generics
import Graphics.Vty.Attributes (Attr)
import Vgrep.KeybindingMap (KeybindingMap (..))
data ConfigMonoid = ConfigMonoid
{ ConfigMonoid -> ColorsMonoid
_mcolors :: ColorsMonoid
, ConfigMonoid -> First Int
_mtabstop :: First Int
, ConfigMonoid -> First String
_meditor :: First String
, ConfigMonoid -> KeybindingsMonoid
_mkeybindings :: KeybindingsMonoid
} deriving (ConfigMonoid -> ConfigMonoid -> Bool
(ConfigMonoid -> ConfigMonoid -> Bool)
-> (ConfigMonoid -> ConfigMonoid -> Bool) -> Eq ConfigMonoid
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ConfigMonoid -> ConfigMonoid -> Bool
$c/= :: ConfigMonoid -> ConfigMonoid -> Bool
== :: ConfigMonoid -> ConfigMonoid -> Bool
$c== :: ConfigMonoid -> ConfigMonoid -> Bool
Eq, Int -> ConfigMonoid -> ShowS
[ConfigMonoid] -> ShowS
ConfigMonoid -> String
(Int -> ConfigMonoid -> ShowS)
-> (ConfigMonoid -> String)
-> ([ConfigMonoid] -> ShowS)
-> Show ConfigMonoid
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ConfigMonoid] -> ShowS
$cshowList :: [ConfigMonoid] -> ShowS
show :: ConfigMonoid -> String
$cshow :: ConfigMonoid -> String
showsPrec :: Int -> ConfigMonoid -> ShowS
$cshowsPrec :: Int -> ConfigMonoid -> ShowS
Show, (forall x. ConfigMonoid -> Rep ConfigMonoid x)
-> (forall x. Rep ConfigMonoid x -> ConfigMonoid)
-> Generic ConfigMonoid
forall x. Rep ConfigMonoid x -> ConfigMonoid
forall x. ConfigMonoid -> Rep ConfigMonoid x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ConfigMonoid x -> ConfigMonoid
$cfrom :: forall x. ConfigMonoid -> Rep ConfigMonoid x
Generic)
instance Semigroup ConfigMonoid where
<> :: ConfigMonoid -> ConfigMonoid -> ConfigMonoid
(<>) = ConfigMonoid -> ConfigMonoid -> ConfigMonoid
forall a. (Generic a, Monoid' (Rep a)) => a -> a -> a
mappenddefault
instance Monoid ConfigMonoid where
mempty :: ConfigMonoid
mempty = ConfigMonoid
forall a. (Generic a, Monoid' (Rep a)) => a
memptydefault
data ColorsMonoid = ColorsMonoid
{ ColorsMonoid -> First Attr
_mlineNumbers :: First Attr
, ColorsMonoid -> First Attr
_mlineNumbersHl :: First Attr
, ColorsMonoid -> First Attr
_mnormal :: First Attr
, ColorsMonoid -> First Attr
_mnormalHl :: First Attr
, :: First Attr
, ColorsMonoid -> First Attr
_mselected :: First Attr
} deriving (ColorsMonoid -> ColorsMonoid -> Bool
(ColorsMonoid -> ColorsMonoid -> Bool)
-> (ColorsMonoid -> ColorsMonoid -> Bool) -> Eq ColorsMonoid
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ColorsMonoid -> ColorsMonoid -> Bool
$c/= :: ColorsMonoid -> ColorsMonoid -> Bool
== :: ColorsMonoid -> ColorsMonoid -> Bool
$c== :: ColorsMonoid -> ColorsMonoid -> Bool
Eq, Int -> ColorsMonoid -> ShowS
[ColorsMonoid] -> ShowS
ColorsMonoid -> String
(Int -> ColorsMonoid -> ShowS)
-> (ColorsMonoid -> String)
-> ([ColorsMonoid] -> ShowS)
-> Show ColorsMonoid
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ColorsMonoid] -> ShowS
$cshowList :: [ColorsMonoid] -> ShowS
show :: ColorsMonoid -> String
$cshow :: ColorsMonoid -> String
showsPrec :: Int -> ColorsMonoid -> ShowS
$cshowsPrec :: Int -> ColorsMonoid -> ShowS
Show, (forall x. ColorsMonoid -> Rep ColorsMonoid x)
-> (forall x. Rep ColorsMonoid x -> ColorsMonoid)
-> Generic ColorsMonoid
forall x. Rep ColorsMonoid x -> ColorsMonoid
forall x. ColorsMonoid -> Rep ColorsMonoid x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ColorsMonoid x -> ColorsMonoid
$cfrom :: forall x. ColorsMonoid -> Rep ColorsMonoid x
Generic)
instance Semigroup ColorsMonoid where
<> :: ColorsMonoid -> ColorsMonoid -> ColorsMonoid
(<>) = ColorsMonoid -> ColorsMonoid -> ColorsMonoid
forall a. (Generic a, Monoid' (Rep a)) => a -> a -> a
mappenddefault
instance Monoid ColorsMonoid where
mempty :: ColorsMonoid
mempty = ColorsMonoid
forall a. (Generic a, Monoid' (Rep a)) => a
memptydefault
data KeybindingsMonoid = KeybindingsMonoid
{ KeybindingsMonoid -> Maybe KeybindingMap
_mresultsKeybindings :: Maybe KeybindingMap
, :: Maybe KeybindingMap
, KeybindingsMonoid -> Maybe KeybindingMap
_mglobalKeybindings :: Maybe KeybindingMap
} deriving (KeybindingsMonoid -> KeybindingsMonoid -> Bool
(KeybindingsMonoid -> KeybindingsMonoid -> Bool)
-> (KeybindingsMonoid -> KeybindingsMonoid -> Bool)
-> Eq KeybindingsMonoid
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: KeybindingsMonoid -> KeybindingsMonoid -> Bool
$c/= :: KeybindingsMonoid -> KeybindingsMonoid -> Bool
== :: KeybindingsMonoid -> KeybindingsMonoid -> Bool
$c== :: KeybindingsMonoid -> KeybindingsMonoid -> Bool
Eq, Int -> KeybindingsMonoid -> ShowS
[KeybindingsMonoid] -> ShowS
KeybindingsMonoid -> String
(Int -> KeybindingsMonoid -> ShowS)
-> (KeybindingsMonoid -> String)
-> ([KeybindingsMonoid] -> ShowS)
-> Show KeybindingsMonoid
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [KeybindingsMonoid] -> ShowS
$cshowList :: [KeybindingsMonoid] -> ShowS
show :: KeybindingsMonoid -> String
$cshow :: KeybindingsMonoid -> String
showsPrec :: Int -> KeybindingsMonoid -> ShowS
$cshowsPrec :: Int -> KeybindingsMonoid -> ShowS
Show, (forall x. KeybindingsMonoid -> Rep KeybindingsMonoid x)
-> (forall x. Rep KeybindingsMonoid x -> KeybindingsMonoid)
-> Generic KeybindingsMonoid
forall x. Rep KeybindingsMonoid x -> KeybindingsMonoid
forall x. KeybindingsMonoid -> Rep KeybindingsMonoid x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep KeybindingsMonoid x -> KeybindingsMonoid
$cfrom :: forall x. KeybindingsMonoid -> Rep KeybindingsMonoid x
Generic)
instance Semigroup KeybindingsMonoid where
<> :: KeybindingsMonoid -> KeybindingsMonoid -> KeybindingsMonoid
(<>) = KeybindingsMonoid -> KeybindingsMonoid -> KeybindingsMonoid
forall a. (Generic a, Monoid' (Rep a)) => a -> a -> a
mappenddefault
instance Monoid KeybindingsMonoid where
mempty :: KeybindingsMonoid
mempty = KeybindingsMonoid
forall a. (Generic a, Monoid' (Rep a)) => a
memptydefault