{-# OPTIONS_HADDOCK show-extensions #-}
module Yi.Config ( Config(..), UIConfig(..), UIBoot, CursorStyle(..)
, module Yi.Config.Lens
, configStyle, configFundamentalMode, configTopLevelKeymap
) where
import Data.Prototype (extractValue)
import Yi.Config.Lens
import Yi.Style (UIStyle)
import Yi.Types (AnyMode, Config (..), CursorStyle (..), Keymap,
UIBoot, UIConfig (..), extractTopKeymap)
configStyle :: UIConfig -> UIStyle
configStyle :: UIConfig -> UIStyle
configStyle = Proto UIStyle -> UIStyle
forall t. Proto t -> t
extractValue (Proto UIStyle -> UIStyle)
-> (UIConfig -> Proto UIStyle) -> UIConfig -> UIStyle
forall b c a. (b -> c) -> (a -> b) -> a -> c
. UIConfig -> Proto UIStyle
configTheme
configFundamentalMode :: Config -> AnyMode
configFundamentalMode :: Config -> AnyMode
configFundamentalMode = [AnyMode] -> AnyMode
forall a. [a] -> a
last ([AnyMode] -> AnyMode)
-> (Config -> [AnyMode]) -> Config -> AnyMode
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Config -> [AnyMode]
modeTable
configTopLevelKeymap :: Config -> Keymap
configTopLevelKeymap :: Config -> Keymap
configTopLevelKeymap = KeymapSet -> Keymap
extractTopKeymap (KeymapSet -> Keymap) -> (Config -> KeymapSet) -> Config -> Keymap
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Config -> KeymapSet
defaultKm