A Nushell plugin for parsing and generating CCL (Categorical Configuration Language).
from ccl: Parse CCL input into Nushell structured data (Records and Lists).- Supports standard CCL syntax (
key = value). - Smart List Parsing: heuristic support for vertical lists (indented blocks starting with
=), converting them into proper Nushell Lists. - Recursive Embedding: recurses into string values to parse nested CCL structures embedded within strings (arbitrary depth).
- Supports standard CCL syntax (
to ccl: Serialize Nushell data into CCL format.- Generates standard
key = valuepairs. - Vertical Lists: serializes Lists using the vertical format (
= item). - Indented Nesting: serializes nested Records using indentation.
- Smart string quoting.
- Generates standard
cargo install --path .
plugin add target/debug/nu_plugin_ccl"
server =
port = 8080
host = localhost
" | from cclOutput:
╭────────┬──────────────────────╮
│ │ ╭──────┬───────────╮ │
│ server │ │ host │ localhost │ │
│ │ │ port │ 8080 │ │
│ │ ╰──────┴───────────╯ │
╰────────┴──────────────────────╯
{
details: {
age: 30
hobbies: [coding, gaming]
}
} | to cclOutput:
details =
age = 30
hobbies =
= coding
= gaming
CCL uses vertical alignment for lists:
items =
= item1
= item2
This plugin correctly parses this into a List [item1, item2] and serializes Lists back into this format.
Nested records are indented:
parent =
child = value