2017-07-29 13:20:57 -05:00
|
|
|
# Universal Configuration Grammar - Working Title.
|
2017-07-11 20:29:54 -05:00
|
|
|
|
2017-07-29 13:20:57 -05:00
|
|
|
This is an experiment in configuration management. The approach is **not**
|
2017-07-11 20:29:54 -05:00
|
|
|
to create a "parsable" config file format. We have plenty of
|
|
|
|
those. Instead we try to specify a grammar for describing
|
|
|
|
configuration values that can then target various configuration
|
|
|
|
formats to output to.
|
|
|
|
|
|
|
|
In theory this could support anything from command line flags to json
|
|
|
|
to yaml or toml or even xml.
|
|
|
|
|
|
|
|
The goal is to allow a global shared configuration repository that can
|
2017-07-29 13:20:57 -05:00
|
|
|
be version controlled, enforce _some_ typesafety, and output
|
2017-07-11 20:29:54 -05:00
|
|
|
configuration for any application regardless of that applications
|
|
|
|
preferred format.
|
|
|
|
|
2018-02-13 17:47:52 -06:00
|
|
|
## Usage
|
|
|
|
|
|
|
|
You can get ucg with cargo `cargo install ucg`.
|
|
|
|
|
|
|
|
Running ucg help will show the following output.
|
|
|
|
|
|
|
|
```sh
|
|
|
|
Universal Configuration Grammar compiler.
|
|
|
|
|
|
|
|
USAGE:
|
|
|
|
ucg [SUBCOMMAND]
|
|
|
|
|
|
|
|
FLAGS:
|
|
|
|
-h, --help Prints help information
|
|
|
|
-V, --version Prints version information
|
|
|
|
|
|
|
|
SUBCOMMANDS:
|
|
|
|
build Compile a specific ucg file.
|
|
|
|
help Prints this message or the help of the given subcommand(s)
|
|
|
|
validate Check a specific ucg file for errors.
|
|
|
|
```
|
|
|
|
|
2018-03-11 20:39:50 -05:00
|
|
|
## Language Reference
|
2017-07-11 20:29:54 -05:00
|
|
|
|
2018-03-11 20:39:50 -05:00
|
|
|
https://docs.rs/ucg/0.0.1/
|