toml-cfg

Rough ideas:

Config file

```toml

a toml-cfg file

[lib-one] buffer_size = 4096

[lib-two] greeting = "Guten tag!" ```

In the library

```rust // lib-one

[tomlcfg::tomlconfig]

pub struct Config { #[default(32)] buffer_size: usize, }

// lib-two

[tomlcfg::tomlconfig]

pub struct Config { #[default("hello")] greeting: &'static str, }

```

Look at what we get!

```shell

Print the "buffer_size" value from the lib-one crate.

Since it has no cfg.toml, we just get the default value.

$ cd pkg-example/lib-one $ cargo run Finished dev [unoptimized + debuginfo] target(s) in 0.01s Running target/debug/lib-one 32

Print the "greeting" value from the lib-two crate.

Since it has no cfg.toml, we just get the default value.

$ cd ../lib-two $ cargo run Compiling lib-two v0.1.0 (/home/james/personal/toml-cfg/pkg-example/lib-two) Finished dev [unoptimized + debuginfo] target(s) in 0.32s Running target/debug/lib-two hello

Print the "buffer_size" value from lib-one, and "greeting"

from lib-two. Since we HAVE defined a cfg.toml file, the

values defined there are used instead.

$ cd ../application $ cargo run Compiling lib-two v0.1.0 (/home/james/personal/toml-cfg/pkg-example/lib-two) Compiling application v0.1.0 (/home/james/personal/toml-cfg/pkg-example/application) Finished dev [unoptimized + debuginfo] target(s) in 0.30s Running target/debug/application 4096 Guten tag! ```