{-# LANGUAGE TemplateHaskell #-}
{-# OPTIONS_HADDOCK show-extensions #-}
module Yi.Config.Lens where
import Lens.Micro.Platform (Lens)
import Data.Default (Default (def))
import Data.DynamicState (_dyn)
import Yi.Types (Config (..), UIConfig (..), YiConfigVariable)
import Yi.Utils (makeLensesWithSuffix)
makeLensesWithSuffix "A" ''Config
makeLensesWithSuffix "A" ''UIConfig
configVariable :: YiConfigVariable a => Lens Config Config a a
configVariable :: Lens Config Config a a
configVariable = (DynamicState -> f DynamicState) -> Config -> f Config
Lens' Config DynamicState
configVarsA ((DynamicState -> f DynamicState) -> Config -> f Config)
-> ((a -> f a) -> DynamicState -> f DynamicState)
-> (a -> f a)
-> Config
-> f Config
forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> (a -> f a) -> DynamicState -> f DynamicState
forall a (f :: * -> *).
(Typeable a, Functor f) =>
a -> (a -> f a) -> DynamicState -> f DynamicState
_dyn a
forall a. Default a => a
def