yi-0.11.1: The Haskell-Scriptable Editor

Safe HaskellNone
LanguageHaskell2010

Yi.Config.Simple.Types

Description

exports from Yi.Config.Simple which are useful to "core yi" rather than just config files.

Synopsis

Documentation

newtype ConfigM a Source

The configuration monad. Run it with configMain.

Constructors

ConfigM 

Fields

runConfigM :: StateT Config IO a
 

type Field a = Lens' Config a Source

Fields that can be modified with all lens machinery.

customVariable :: YiConfigVariable a => Field a Source

Accessor for any YiConfigVariable, to be used by modules defining YiConfigVariables. Such modules should provide a custom-named field. For instance, take the following hypothetical YiConfigVariable:

@newtype UserName = UserName { unUserName :: String } deriving(Typeable, Binary, Default) instance YiConfigVariable UserName

$(nameDeriveAccessors ''UserName (n -> Just (n ++ "A")))

userName :: Field String userName = unUserNameA . customVariable@

Here, the hypothetical library would provide the field userName to be used in preference to customVariable.