44 个版本
0.7.2 | 2021 年 3 月 18 日 |
---|---|
0.7.0 | 2019 年 11 月 12 日 |
0.6.4 | 2019 年 8 月 12 日 |
0.6.3 | 2019 年 6 月 21 日 |
0.0.4 | 2018 年 3 月 29 日 |
在 配置 中排名第 245
每月下载量 107 次
425KB
11K SLoC
通用配置语法。
这是一个配置管理的实验。方法不是创建一个“可解析”的配置文件格式。我们已经有很多这样的格式。相反,我们尝试指定一个用于描述配置值的语法,然后可以针对各种配置格式进行输出。
理论上,这可以支持从命令行标志到 json、yaml 或 toml,甚至 xml 的任何内容。
目标是允许一个全局共享的配置仓库,可以进行版本控制,强制执行 一些 类型安全,并为任何应用程序输出配置,无论该应用程序首选的格式如何。
常见的警告
这仍然是一个非常实验性的项目,语言和 API 可能会发生变化和修改。请务必注意。
使用方法
您可以使用 cargo 安装 ucg:cargo install ucg
。
运行 ucg help 将显示以下输出。
Universal Configuration Grammar compiler.
USAGE:
ucg [FLAGS] [SUBCOMMAND]
FLAGS:
-h, --help Prints help information
--no-strict Turn off strict checking.
-V, --version Prints version information
SUBCOMMANDS:
build Build a list of ucg files.
converters list the available converters
env Describe the environment variables ucg uses.
eval Evaluate an expression with an optional ucg file as context.
fmt Format ucg files automatically.
help Prints this message or the help of the given subcommand(s)
importers list the available importers for includes
repl Start the ucg repl for interactive evaluation.
test Check a list of ucg files for errors and run test assertions.
编译
Build a list of ucg files.
USAGE:
ucg build [FLAGS] -r [INPUT]...
FLAGS:
-h, --help Prints help information
-r Whether we should recurse in directories or not.
-V, --version Prints version information
ARGS:
<INPUT>... Input ucg files or directories to build. If not provided then build the contents of the current directory.
运行 repl
$> ucg repl
ucg> 1 + 1;
2
ucg> {foo = 1 + 1};
{
foo = 2,
}
ucg>
测试
Check a list of ucg files for errors and run test assertions.
USAGE:
ucg test [FLAGS] -r [INPUT]...
FLAGS:
-h, --help Prints help information
-r Whether we should recurse or not.
-V, --version Prints version information
ARGS:
<INPUT>... Input ucg files or directories to run test assertions for. If not provided it will scan the current directory for files with _test.ucg
语言参考
依赖项
~8–11MB
~192K SLoC