-- | -- Module : Data.Ini.Reader -- Copyright : 2011-2014 Magnus Therning -- License : BSD3 -- -- Parser for configurations. module Data.Ini.Reader ( parse , IniReaderError(..) , IniParseResult ) where import Control.Monad.Except import qualified Text.ParserCombinators.Parsec as P import Data.Ini.Types import Data.Ini.Reader.Internals -- | Parser for a configuration contained in a 'String'. parse :: String -> IniParseResult Config parse s = let pr = P.parse iniParser "ini" s in case pr of Left e -> throwError . IniParserError $ show e Right is -> buildConfig is