#conf #load #file #struct #config-toml #find

loadconf

快速加载配置文件的库

2 个不稳定版本

使用旧的Rust 2015

0.2.0 2018年2月11日
0.1.2 2018年2月10日

816配置

ISC 许可证

14KB
222

Crate Documentation Build Status

一个简单的库,用于从磁盘加载配置文件。所需的是一个实现了 serde::DeserializeDefault 的结构体。

配置文件始终假设为TOML格式编码。

库将加载以下列表中找到的第一个结构体

  1. ./{名称}
  2. ./{名称}.toml
  3. ./.{名称}
  4. ./.{名称}.toml
  5. ~/.{名称}
  6. ~/.{名称}.toml
  7. ~/.config/{名称}
  8. ~/.config/{名称}.toml
  9. ~/.config/{名称}/config
  10. ~/.config/{名称}/config.toml
  11. /etc/.config/{名称}
  12. /etc/.config/{名称}.toml
  13. /etc/.config/{名称}/config
  14. /etc/.config/{名称}/config.toml

使用方法

#[macro_use]
extern crate serde_derive;
extern crate loadconf;

/// Sample configuration
#[derive(Deserialize)]
struct Config {
    /// Sample variable
    var: String,
}

impl Default for Config {
    fn default() -> Config {
        Config { var: "Test configuration.".to_string() }
    }
}

fn main() {
    use loadconf::Load;

    let config = Config::load("testcfg");
}

依赖关系

~0.9–1.6MB
~32K SLoC