2 releases

0.1.3 Aug 22, 2020
0.1.0 Aug 10, 2020

#6 in #data-format

Download history 144/week @ 2022-11-15 56/week @ 2022-11-22 54/week @ 2022-11-29 134/week @ 2022-12-06 75/week @ 2022-12-13 114/week @ 2022-12-20 55/week @ 2022-12-27 31/week @ 2023-01-03 84/week @ 2023-01-10 53/week @ 2023-01-17 165/week @ 2023-01-24 144/week @ 2023-01-31 32/week @ 2023-02-07 89/week @ 2023-02-14 130/week @ 2023-02-21 54/week @ 2023-02-28

316 downloads per month

MIT/Apache

125KB
3.5K SLoC

This is a temporary fork of the ron crate for bevy engine.


lib.rs:

RON is a simple config format which looks similar to Rust syntax.

Features

  • Data types
  • Structs, typename optional
  • Tuples
  • Enums
  • Lists
  • Maps
  • Units (())
  • Optionals
  • Primitives: booleans, numbers, string, char
  • Allows nested layout (similar to JSON)
  • Supports comments
  • Trailing commas
  • Pretty serialization

Syntax example

Game(
title: "Hello, RON!",
level: Level( // We could just leave the `Level` out
buildings: [
(
size: (10, 20),
color: Yellow, // This as an enum variant
owner: None,
),
(
size: (20, 25),
color: Custom(0.1, 0.8, 1.0),
owner: Some("guy"),
),
],
characters: {
"guy": (
friendly: true,
),
},
),
)

Usage

Just add it to your Cargo.toml:

[dependencies]
ron = "*"

Serializing / Deserializing is as simple as calling to_string / from_str.

!

Dependencies

~0.6–1.2MB
~26K SLoC