Antoine Stevan be5ed3290c
add "to nuon" enumeration of possible styles (#12591)
# Description
in order to change the style of the _serialized_ NUON data,
`nuon::to_nuon` takes three mutually exclusive arguments, `raw: bool`,
`tabs: Option<usize>` and `indent: Option<usize>` 🤔
this begs to use an enumeration with all possible alternatives, right?

this PR changes the signature of `nuon::to_nuon` to use `nuon::ToStyle`
which has three variants
- `Raw`: no newlines
- `Tabs(n: usize)`: newlines and `n` tabulations as indent
- `Spaces(n: usize)`: newlines and `n` spaces as indent

# User-Facing Changes
the signature of `nuon::to_nuon` changes from
```rust
to_nuon(
    input: &Value,
    raw: bool,
    tabs: Option<usize>,
    indent: Option<usize>,
    span: Option<Span>,
) -> Result<String, ShellError>
```
to
```rust
to_nuon(
    input: &Value,
    style: ToStyle,
    span: Option<Span>
) -> Result<String, ShellError>
```

# Tests + Formatting

# After Submitting
2024-04-20 11:40:52 +02:00
..
2022-11-22 16:58:11 -08:00
2023-11-16 15:14:45 -06:00
2023-10-24 12:48:05 -05:00
2024-01-25 14:16:49 +08:00
2024-04-13 14:58:54 +00:00
2024-04-10 06:27:46 +08:00
2023-11-03 10:09:33 -05:00
2024-04-13 14:58:54 +00:00
2023-10-19 09:30:34 -05:00
2023-10-10 03:31:15 +13:00
2024-04-13 14:58:54 +00:00
2024-04-16 19:08:58 +08:00
2023-11-17 19:30:53 -06:00
2024-03-09 18:58:02 +02:00
2023-09-16 21:49:10 +02:00
2023-03-15 18:54:55 +13:00
2024-04-16 19:08:58 +08:00
2023-04-28 13:25:44 +02:00
2023-04-28 13:25:44 +02:00
2024-02-17 10:51:20 +02:00
2023-04-28 13:25:44 +02:00
2024-03-11 19:46:04 +01:00
2023-04-28 13:25:44 +02:00
2024-03-11 19:46:04 +01:00