Description
Configuration files in the INI format.
Description
Quick and easy configuration files in the INI format.
README.md
ini
Quick and easy configuration files in the INI format for Haskell.
Format rules and recommendations:
foo: bar
orfoo=bar
are allowed.- The
:
syntax is space-sensitive. - Keys are case-sensitive.
- Lower-case is recommended.
- Values can be empty.
- Keys cannot contain
:
,=
,[
, or]
. - Comments must start at the beginning of the line with
;
or#
.
An example configuration file:
# Some comment.
[SERVER]
port=6667
hostname=localhost
[AUTH]
user=hello
pass=world
# Salt can be an empty string.
salt=
Parsing example:
> parseIni "[SERVER]\nport: 6667\nhostname: localhost"
Right (Ini {unIni = fromList [("SERVER",fromList [("hostname","localhost")
,("port","6667")])]})
Extracting values:
> parseIni "[SERVER]\nport: 6667\nhostname: localhost" >>=
lookupValue "SERVER" "hostname"
Right "localhost"
Parsing:
> parseIni "[SERVER]\nport: 6667\nhostname: localhost" >>=
readValue "SERVER" "port" decimal
Right 6667
Import Data.Text.Read
to use decimal
.
Related packages
ini-qq
provides a quasiquoter for INI.