cloudbase / powershell-yaml

PowerShell CmdLets for YAML format manipulation
Apache License 2.0
434 stars 78 forks source link

Perserve list format? #149

Closed MrHinsh closed 1 month ago

MrHinsh commented 1 month ago

Can we have some way to preserve the format of lists?

Original:

syllabus_ids: [1, 2, 3, 4]

After deserialise, serialised:

    syllabus_ids:
    - 1
    - 2
    - 3
    - 4

I'm happy with the default being the latter, but if the original was in the former, I like to maintain it.

p.s. Any chanse of enableing Discussion so I dont have to create a n issue for something that may not be an issue.

gabriel-samfira commented 1 month ago

Hi @MrHinsh

Preserving it, not that much (we'd need to save state in some way), but I did just merge https://github.com/cloudbase/powershell-yaml/pull/148 which gives you an option to use flow style for lists. Would that do?

MrHinsh commented 1 month ago

Flow is great except when the item is really long... It makes sense for short strings

gabriel-samfira commented 1 month ago

Sadly there is no sane way to decide when to use flow and when to use block. And there is no simple way yo save the previous state of the yaml. Even if we do save the state, we would need to decide whether or not to invalidate it if an element is mutated before serializing back to yaml.

The only potential way I see for something like this is by using something like this:

And set a property on a field which indicates which style to use for that element and its children.

gabriel-samfira commented 1 month ago

Discussions have been enabled.