config-better 1.2.0

Configure your application in a friendlier and more consistent way!
docs.rs failed to build config-better-1.2.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: config-better-1.0.0

config-better-rs

Make use of directories for configuration / data / caching better and more user-friendly!

This module provides support for the XDG Base Directory specification, and OS-friendly fallbacks for Windows, Mac OS, and Linux if not otherwise specified.

This is a port of the Python version of the same name.

Usage

use config_better::Config;

fn main() {
    let dirs = Config::new("some-app");
    println!("{:?}", dirs);

    // View paths
    println!("{:?}", dirs.cache);
    println!("{:?}", dirs.config);
    println!("{:?}", dirs.data);

    // Create/delete a single directory
    dirs.cache.create();
    dirs.cache.remove();

    // Create/delete all directories
    dirs.create_all();
    dirs.remove_all();
}

Any directory create and remove methods can have an async counterpart provided by the async feature.

For further details, refer to installation instructions on crates.io and docs on docs.rs.

MSRV

For the sync and async features of the crate, the MSRV is 1.61.0. For the async-tokio feature of the crate, the MSRV is 1.63.0.