nushell/crates/nu-protocol/src/pipeline
Devyn Cairns 4e205cd9a7
Add --raw switch to print for binary data (#13597)
# Description

Something I meant to add a long time ago. We currently don't have a
convenient way to print raw binary data intentionally. You can pipe it
through `cat` to turn it into an unknown stream, or write it to a file
and read it again, but we can't really just e.g. generate msgpack and
write it to stdout without this. For example:

```nushell
[abc def] | to msgpack | print --raw
```

This is useful for nushell scripts that will be piped into something
else. It also means that `nu_plugin_nu_example` probably doesn't need to
do this anymore, but I haven't adjusted it yet:

```nushell
def tell_nushell_encoding [] {
  print -n "\u{0004}json"
}
```

This happens to work because 0x04 is a valid UTF-8 character, but it
wouldn't be possible if it were something above 0x80.

`--raw` also formats other things without `table`, I figured the two
things kind of go together. The output is kind of like `to text`.
Debatable whether that should share the same flag, but it was easier
that way and seemed reasonable.

# User-Facing Changes
- `print` new flag: `--raw`

# Tests + Formatting
Added tests.

# After Submitting
- [ ] release notes (command modified)
2024-08-12 17:29:25 +08:00
..
byte_stream.rs Add top-level crate documentation/READMEs (#12907) 2024-07-14 10:10:41 +02:00
handlers.rs fix: relay Signals reset to plugins (#13510) 2024-08-06 03:35:40 -07:00
list_stream.rs Document public types in nu-protocol (#12906) 2024-07-11 13:30:12 +02:00
metadata.rs Make pipeline metadata available to plugins (#13495) 2024-08-02 11:01:20 -07:00
mod.rs fix: relay Signals reset to plugins (#13510) 2024-08-06 03:35:40 -07:00
out_dest.rs Replace ExternalStream with new ByteStream type (#12774) 2024-05-16 07:11:18 -07:00
pipeline_data.rs Add --raw switch to print for binary data (#13597) 2024-08-12 17:29:25 +08:00
signals.rs fix: relay Signals reset to plugins (#13510) 2024-08-06 03:35:40 -07:00