libconfig

Crates.iolibconfig
lib.rslibconfig
version0.1.3
sourcesrc
created_at2017-01-26 00:08:34.839327
updated_at2017-01-26 00:08:34.839327
descriptionA library to parse and load configuration files
homepagehttps://github.com/filipegoncalves/rust-config
repositoryhttps://github.com/filipegoncalves/rust-config
max_upload_size
id8225
size207,945
Filipe Gonçalves (filipegoncalves)

documentation

http://filipegoncalves.github.io/rust-config/config/

README

config

Gitter Build Status Crates.io

Description

A Rust library to read and parse configuration files.

The idea is to make it very similar to libconfig, with a few extra additions / tweaks.

This is still under heavy development. As of this writing, the library is still very basic and can only read / load a configuration. It also includes a rudimentary set of methods to browse the loaded data.

Supported rust versions

As of 0.1.0, the library is compatible with both nightly and beta channels.

Installation

config is on crates.io. It can be included in a project using Cargo by adding this to Cargo.toml:

[dependencies]
config = "~0.1.0"

Getting started

Updated documentation can be found here. The documentation includes small sample use cases, and a full specification of the input format.

Another good example can be found in the integration tests directory (tests/).

TODO

Features

  • Add #include support to include other configuration files
  • Export a public API to manipulate a configuration in runtime and possibly write it to a file
  • Add more escape sequences possibilities in string literals (make it similar to what Rust supports)

Misc

  • hex and hex64 literals support?
  • Add option to indicate the conf. file encoding

Contributing

Contributions will be greatly appreciated. Feel free to reach out on Gitter or IRC. I'm Fill on irc.mozilla.org. You can find me on #rust and #rust-config.

I am relatively new to Rust, and as such, there is probably a lot of room for improvement on the library design and code quality. I started this project to learn the language. So, feel free to fix anything that you think may be wrong.

Commit count: 138

cargo fmt