wcl 0.6.1-alpha

WCL (Wil's Configuration Language) — a typed, block-structured configuration language
docs.rs failed to build wcl-0.6.1-alpha
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: wcl-0.5.0-alpha

WCL — Wil's Configuration Language

A statically-typed, block-structured configuration language with schemas, validation, macros, tables, queries, and a full LSP server.

server web {
    host = "0.0.0.0"
    port = 8080
    workers = 4
}

schema "server" {
    host: string
    port: int @validate(min = 1, max = 65535)
    workers: int
}

Quick Start

use wcl::{parse, ParseOptions, Value};

let doc = parse(r#"
    server web {
        port = 8080
        host = "localhost"
    }
"#, ParseOptions::default());

assert!(!doc.has_errors());

if let Some(Value::Map(server)) = doc.values.get("server") {
    println!("{:?}", server.get("web"));
}

Links

License

MIT