libconfig 0.1.3

A library to parse and load configuration files
Documentation
  • Coverage
  • 100%
    50 out of 50 items documented5 out of 26 items with examples
  • Size
  • Source code size: 208.31 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 8.08 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 12s Average build duration of successful builds.
  • all releases: 12s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • Documentation
  • filipegoncalves/rust-config
    20 10 8
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • filipegoncalves

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.