ini 0.2.0 → 0.2.1
raw patch · 2 files changed
+12/−1 lines, 2 files
Files
- ini.cabal +1/−1
- src/Data/Ini.hs +11/−0
ini.cabal view
@@ -1,5 +1,5 @@ name: ini-version: 0.2.0+version: 0.2.1 synopsis: Quick and easy configuration files in the INI format. description: Quick and easy configuration files in the INI format. license: BSD3
src/Data/Ini.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE OverloadedStrings #-}+ -- | Clean configuration files in the INI format. -- -- Format rules and recommendations:@@ -40,6 +42,7 @@ ,parseIni ,lookupValue ,readValue+ ,parseValue -- * Writing ,writeIniFile ,printIni@@ -53,6 +56,7 @@ where import Control.Monad+import Control.Applicative ((<*)) import Data.Attoparsec.Combinator import Data.Attoparsec.Text import Data.Char@@ -92,6 +96,13 @@ -> Either String a readValue section key f ini = lookupValue section key ini >>= f >>= return . fst++-- | Parse a value using a reader from "Data.Attoparsec.Text".+parseValue :: Text -> Text -> Parser a+ -> Ini+ -> Either String a+parseValue section key f ini =+ lookupValue section key ini >>= parseOnly (f <* (skipSpace >> endOfInput)) -- | Print the INI config to a file. writeIniFile :: FilePath -> Ini -> IO ()