nushell/crates/nu-protocol/src
Bahex 469e23cae4
Add bytes split command (#14652)
Related #10708 

# Description

Add `bytes split` command. `bytes split` splits its input on the
provided separator on binary values _and_ binary streams without
collecting. The separator can be a multiple character string or multiple
byte binary.

It can be used when neither `split row` (not streaming over raw input)
nor `lines` (streaming, but can only split on newlines) is right.

The backing iterator implemented in this PR, `SplitRead`, can be used to
implement a streaming `split row` in the future.

# User-Facing Changes

`bytes split` command added, which can be used to split binary values
and raw streams using a separator.

# Tests + Formatting

- 🟢 toolkit fmt
- 🟢 toolkit clippy
- 🟢 toolkit test
- 🟢 toolkit test stdlib

# After Submitting
Mention in release notes.
2024-12-25 07:04:43 -06:00
..
ast Change how and and or operations are compiled to IR to support custom values (#14653) 2024-12-25 06:12:53 -06:00
config Remove grid icons deprecation warning (#14526) 2024-12-10 06:36:27 -06:00
debugger Replace std::time::Instant with web_time::Instant (#14668) 2024-12-25 16:50:02 +08:00
engine Change how and and or operations are compiled to IR to support custom values (#14653) 2024-12-25 06:12:53 -06:00
errors rewrite error message to not use the word function (#14533) 2024-12-06 18:09:11 -06:00
ir Change how and and or operations are compiled to IR to support custom values (#14653) 2024-12-25 06:12:53 -06:00
pipeline Add bytes split command (#14652) 2024-12-25 07:04:43 -06:00
plugin Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
process Fix non-zero exit code errors in middle of pipeline (#13899) 2024-10-02 06:04:18 -05:00
value Add Filesize type (#14369) 2024-11-29 21:24:17 +00:00
alias.rs Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
did_you_mean.rs Improve case insensitivity consistency (#10884) 2023-11-08 23:58:54 +01:00
eval_base.rs Change append operator to concatenation operator (#14344) 2024-11-24 10:59:54 -08:00
eval_const.rs Reduce duplication in history path construction (#13475) 2024-10-11 07:51:50 -05:00
example.rs Overhaul the plugin cache file with a new msgpack+brotli format (#12579) 2024-04-21 07:36:26 -05:00
id.rs Make SpanId and RegId also use new ID struct (#13963) 2024-10-01 13:23:27 +02:00
lev_distance.rs Rework for new clippy lints (#12736) 2024-05-02 19:29:03 +02:00
lib.rs Start to Add WASM Support Again (#14418) 2024-11-30 07:57:11 -06:00
module.rs normalize special characters in module names to allow variable access (#14353) 2024-12-05 21:35:15 +08:00
parser_path.rs Replace raw usize IDs with new types (#13832) 2024-09-30 13:20:15 +02:00
signature.rs Deprecate date to-record and date to-table (#14319) 2024-11-29 23:06:26 +01:00
span.rs fix --ide-ast when there are errors (#13737) 2024-09-06 07:17:40 +08:00
syntax_shape.rs Make parsing for unknown args in known externals like normal external calls (#13414) 2024-07-21 01:32:36 -07:00
ty.rs Remove ListStream type (#14425) 2024-11-27 09:35:55 +08:00