module Yi.Config.Default.Vim (configureVim) where import Lens.Micro.Platform ((.=), (%=), (.~)) import Yi.Buffer.Normal (RegionStyle (..)) import Yi.Keymap.Vim (keymapSet) import Yi.Config.Misc (ScrollStyle (..)) import Yi.Config.Lens import Yi.Config.Simple (ConfigM) configureVim :: ConfigM () configureVim :: ConfigM () configureVim = do (KeymapSet -> Identity KeymapSet) -> Config -> Identity Config Lens' Config KeymapSet defaultKmA ((KeymapSet -> Identity KeymapSet) -> Config -> Identity Config) -> KeymapSet -> ConfigM () forall s (m :: * -> *) a b. MonadState s m => ASetter s s a b -> b -> m () .= KeymapSet keymapSet (UIConfig -> Identity UIConfig) -> Config -> Identity Config Lens' Config UIConfig configUIA ((UIConfig -> Identity UIConfig) -> Config -> Identity Config) -> (UIConfig -> UIConfig) -> ConfigM () forall s (m :: * -> *) a b. MonadState s m => ASetter s s a b -> (a -> b) -> m () %= ((Maybe ScrollStyle -> Identity (Maybe ScrollStyle)) -> UIConfig -> Identity UIConfig Lens' UIConfig (Maybe ScrollStyle) configScrollStyleA ((Maybe ScrollStyle -> Identity (Maybe ScrollStyle)) -> UIConfig -> Identity UIConfig) -> Maybe ScrollStyle -> UIConfig -> UIConfig forall s t a b. ASetter s t a b -> b -> s -> t .~ ScrollStyle -> Maybe ScrollStyle forall a. a -> Maybe a Just ScrollStyle SingleLine) (RegionStyle -> Identity RegionStyle) -> Config -> Identity Config Lens' Config RegionStyle configRegionStyleA ((RegionStyle -> Identity RegionStyle) -> Config -> Identity Config) -> RegionStyle -> ConfigM () forall s (m :: * -> *) a b. MonadState s m => ASetter s s a b -> b -> m () .= RegionStyle Inclusive