-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Parse config files using parsec and generate parse errors -- on unhandled keys -- -- This is yet another entry in Haskell's enourmous collection of -- config-file parsing libraries. It lacks many of the bells and whistles -- of other config-file parsing libraries, such as hierarchical sections -- and on-the-fly reloading. On the other hand, it has a combination of -- features I was unable to find in other libraries: -- -- -- -- If you don't need all of these features, there are probably better -- libraries out there for you. If you're free to use its idiosyncratic -- file format, the config-value library, in particular, is excelent. @package config-parser @version 0.1.0.4 -- | This is yet another entry in Haskell's enourmous collection of -- config-file parsing libraries. It lacks many of the bells and whistles -- of other config-file parsing libraries, such as hierarchical sections -- and on-the-fly reloading. On the other hand, it has a combination of -- features I was unable to find in other libraries: -- -- -- -- If you don't need all of these features, there are probably better -- libraries out there for you. If you're free to use its idiosyncratic -- file format, the config-value library, in particular, is excelent. -- --

Example:

-- -- By default, this library parses flat config like the following: -- --
--   a_string = "blah, blah, blah\nmore blah"
--   a_number = 9001
--   a_list   = [1,2,3,4,5]
--   # This is a comment
--   
-- -- If you wanted to parse the above file, saved as ./config.txt, -- you might do so as follows: -- --
--   import Text.ConfigParser
--   
--   cp :: ConfigParser (Maybe String, Maybe Integer, [Integer])
--   cp = configParser (Nothing, Nothing, [])
--       [ ConfigOption
--           { key    = "a_string"
--           , parser = string
--           , action = \s (_,n,ns) -> (Just s, n, ns)
--           }
--       , ConfigOption
--           { key    = "a_number"
--           , parser = integer
--           , action = \n (s,_,ns) -> (s, Just n, ns)
--           }
--       , ConfigOption
--           { key    = "a_list"
--           , parser = list integer
--           , action = \ns (s,n,_) -> (s, n, ns)
--           }
--       ]
--   
--   main :: IO ()
--   main = parseFromFile cp "./config.txt" >>= print
--   
module Text.ConfigParser