-- | 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