Configr
The dead easy way to use config files in your project
This will load a config.toml file if it exists, otherwise it will
create the needed folders and the toml file.
It can either use the OS config directories which are as follows
- Linux:
$XDG_CONFIG_HOME/app-name/config.toml - Windows:
%APPDATA%/app-name/config.toml - Mac OS:
$HOME/Library/Application Support/app-name/config.toml
or a custom config directory
Usage
Add the following to your Cargo.toml
= "0.7.0"
or use cargo-edit with
cargo add configr
then in your project add the following snippet
use ;
replacing BotConfig with your configuration struct
and then load you can load the config, usually at the start of the
application with the load function to load from the system config
directory
let config = load.unwrap; // Will load from /home/USER/.config/bot-app/config.toml
or with the load_with_dir function to use a custom config
directory
let config = load_with_dir.unwrap; // Will load from /home/USER/bot-app/config.toml
Use ConfigrDefault if you want the config.toml to be populated with
default values, based on Default implentation, or use Configr if
you want it to be populated with empty fields with the correct names
Example of above BotConfig
With Configr
=
=
=
=
and with ConfigrDefault
=""
=""
=""
=""
Contributors
I am at the moment not accepting any contributions that don't close an issue.
If you find any problems, or edge cases, please do open an issue!
License
This project is licensed under the unlicense license.