yi-0.6.6.0: The Haskell-Scriptable Editor

Safe HaskellNone

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 = Accessor Config aSource

Fields that can be modified with (%=), get and modify.

customVariable :: YiConfigVariable a => Field aSource

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, Initializable)
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.