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.6.5"
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, 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.