#config-parser #config-file #configuration #parser #markup #no-dependencies

superconf

为低依赖Rust应用程序制作的简单配置文件

7个版本

0.4.3 2020年11月15日
0.4.2 2020年11月10日
0.3.2 2020年11月10日
0.3.1 2020年8月30日
0.1.2 2020年6月11日

#748 in 配置

每月下载 23次

MIT许可证

14KB
176

superconf

为低依赖Rust应用程序制作的简单配置文件。

用法

添加到您的Cargo.toml文件中

[dependancies]
superconf = "0.4"

示例

默认分隔符(空格 )演示

use superconf;

let input = "my_key my_value";

println!("{:#?}", superconf::parse(input).unwrap());

或者,如果您想使用自定义分隔符,如 :=

use superconf::parse_custom_sep;

let input_equal = "custom=seperator";
let input_colon = "second:string";

println!("Equals seperator: {:#?}", parse_custom_sep(input_equal, '=').unwrap());
println!("Colon seperator: {:#?}", parse_custom_sep(input_colon, ':').unwrap());

以下是完整的语法演示

# comments are like this
# no seperators are allowed in keys or values
# comments can only be at the start of lines, no end of line comments here

# my_key is the key, my_value is the value
my_key the_value

# you can use seperators as plaintext, just have to be backslashed
your_path /home/user/Cool\ Path/x.txt

配置约定

一些常用superconf文件的约定

  • 文件命名方案为snake_case
  • 尽量用注释注释每一行
  • 如果注释了,用空行分隔每个配置部分。如果没有文档,可以一起打包所有配置部分

动机

创建的原始动机

制作这个作为一个快速自定义解析器,挑战自己并用于将来快速且不完美的配置格式。这不是世界上最好的文件格式,但可以完成工作。

当前/未来的维护动机

维护:这个库现在被用于我的ipeer p2p实现中的所有.ipeer文件,因此维护这个库至关重要。

无运行时依赖