universal-config 0.2.1

A library to simplify reading configuration files from various file formats.
Documentation
# Universal Config

[crate](https://crates.io/crates/universal-config) | 
[docs](https://docs.rs/universal-config) | 
[repo](https://github.com/jakestanger/universal-config-rs)

Universal Config is a library for Rust to simplify *reading* configuration files.
It is able to automatically locate config files from standard locations, and has support for various file formats.

The crate does not offer a lot of functionality, leaving that to Serde and your implementation. 
Instead, it just deals with loading the file.

Currently, the following formats are supported:

- JSON via `serde_json`
- YAML via `serde_yaml`
- TOML via `toml`
- XML via `serde_xml_rs`
- [Corn]https://github.com/jakestanger/corn via `libcorn`

# Installation

Just add the crate:

```bash
cargo add universal-config
```

By default, support for all languages is included. 
You can enable/disable languages using feature flags. For example, in your `Cargo.toml`:

```toml
[dependencies.universal-config]
version = "0.1.0"
default-features = false
features = ["json", "toml"]
```

## Example usage

```no_run
use universal_config::ConfigLoader;
use serde::Deserialize;

#[derive(Deserialize)]
struct MyConfig {
    foo: String,
}

fn main() {
    let config: MyConfig = ConfigLoader::new("my-app").find_and_load().unwrap();
    println!("{}", config.foo);
}
```

For more advanced usage, please check the [docs](https://docs.rs/universal-config).