Crates.io | nu_plugin_ron |
lib.rs | nu_plugin_ron |
version | 0.1.1 |
source | src |
created_at | 2023-10-10 14:35:00.364919 |
updated_at | 2023-10-10 14:42:13.510649 |
description | A Nushell plugin for parsing RON text. |
homepage | |
repository | https://gitlab.com/moinmoti/nu_plugin_ron |
max_upload_size | |
id | 999162 |
size | 50,383 |
This is a nushell plugin to parse RON text into nu
structured types.
To add the plugin permanently, just install it and call register
on it:
cargo install nu_plugin_ron
register ~/.cargo/bin/nu_plugin_ron
Consider the following RON example:
Scene( // class name is optional
materials: { // this is a map
"metal": (
reflectivity: 1.0,
),
"plastic": (
reflectivity: 0.5,
),
},
entities: [ // this is an array
(
name: "hero",
material: "metal",
),
(
name: "monster",
material: "plastic",
),
],
)
$ open example.ron
╭───────────┬───────────────────────────────────────╮
│ │ ╭───┬──────────┬─────────╮ │
│ entities │ │ # │ material │ name │ │
│ │ ├───┼──────────┼─────────┤ │
│ │ │ 0 │ metal │ hero │ │
│ │ │ 1 │ plastic │ monster │ │
│ │ ╰───┴──────────┴─────────╯ │
│ │ ╭─────────┬─────────────────────────╮ │
│ materials │ │ │ ╭──────────────┬──────╮ │ │
│ │ │ metal │ │ reflectivity │ 1.00 │ │ │
│ │ │ │ ╰──────────────┴──────╯ │ │
│ │ │ │ ╭──────────────┬──────╮ │ │
│ │ │ plastic │ │ reflectivity │ 0.50 │ │ │
│ │ │ │ ╰──────────────┴──────╯ │ │
│ │ ╰─────────┴─────────────────────────╯ │
╰───────────┴───────────────────────────────────────╯
$ open example.ron | update materials.metal.reflectivity 2.00 | save -f new_example.ron
$ open new_example.ron
╭───────────┬───────────────────────────────────────╮
│ │ ╭───┬──────────┬─────────╮ │
│ entities │ │ # │ material │ name │ │
│ │ ├───┼──────────┼─────────┤ │
│ │ │ 0 │ metal │ hero │ │
│ │ │ 1 │ plastic │ monster │ │
│ │ ╰───┴──────────┴─────────╯ │
│ │ ╭─────────┬─────────────────────────╮ │
│ materials │ │ │ ╭──────────────┬──────╮ │ │
│ │ │ metal │ │ reflectivity │ 2.00 │ │ │
│ │ │ │ ╰──────────────┴──────╯ │ │
│ │ │ │ ╭──────────────┬──────╮ │ │
│ │ │ plastic │ │ reflectivity │ 0.50 │ │ │
│ │ │ │ ╰──────────────┴──────╯ │ │
│ │ ╰─────────┴─────────────────────────╯ │
╰───────────┴───────────────────────────────────────╯