Skip to content

mstksg/configurator-export

Repository files navigation

configurator-export

configurator-export on Hackage configurator-export on Stackage LTS configurator-export on Stackage Nightly Build Status

Pretty printers and exporters for 'Config's from the great configurator library.

All results are intended to be valid parsing files in the configuration file syntax of the library.

For a full round trip:

main = do
  cfg <- load [Required "config.cfg"]
  writeConf "config.cfg" cfg

This should load the config file, parse it, and then re-export it, rewriting the original config file. The result should be an identical configuration file (with keys potentially re-arranged and re-sorted, comments removed, etc.)

Can also export/print any HashMap Name Value, in the form exported from a Config using getMap. Modify a map yourself to dynically generate/customize configuration files!

Sample output:

foo {
    bar {
        baz1  = true
        baz2  = [1, 0.6, "hello", true]
    }
    aardvark  = "banana"
    monkey    = [true, false, 1.9e-3]
    zebra     = 24
}

foo2 {
    bar = 8.1e-8
}

apple   = ["cake", true]
orange  = 8943

Further configuration on sorting of keys, displaying of bools and floats, etc. is possible by passing in custom ConfStyle style option values.

Documentation maintained at https://mstksg.github.io/configurator-export/

Copyright

Copyright (c) Justin Le 2016

About

Pretty printer and exporter for configurations from the 'configurator' library

Resources

License

Stars

Watchers

Forks

Packages

No packages published