-- | Simple-config is a parser generator for simple configuration file.
--
-- To use this library, one needs import a module and set extensions.
--
-- > {-# LANGUAGE TemplateHaskell, QuasiQuotes #-}
-- > import Text.Config
--
-- The following is quick example.
--
-- > mkConfig "configParser" [config|
-- > TestConfig
-- > uri URI
-- > text String
-- > list [String]
-- > val Int
-- > vals [Int]
-- > bs ByteString
-- > |]
--
-- The example generates following codes.
--
-- > data TestConfig = TestConfig
-- > { uri :: String
-- > , text :: String
-- > , list :: [String]
-- > , val :: Int
-- > , vals :: [Int]
-- > , bs :: ByteString
-- > }
-- > deriving (Show)
-- >
-- > instance Default TestConfig where
-- > def = TestConfig
-- > { uri = "http://localhost/"
-- > , text = ""
-- > , list = []
-- > , val = 0
-- > , vals = []
-- > , bs = ""
-- > }
-- >
-- > configParser :: Parser TestConfig
-- > configParser = ...
--
-- Its parser is able to parse following string.
--
-- > uri: http://example.com/content.html
-- > text: wakaruwa
-- > list: kaede, kirari, momoka
-- > val: 28
-- > vals: 25, 17, 12
-- > bs: chihiro
--
module Text.Config
( -- * Types
module Text.Config.Types
, module Text.Config.TH
) where
import Text.Config.Types
import Text.Config.TH