nushell/crates
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
..
nu-cli Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-cmd-base Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-cmd-extra Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-cmd-lang Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-cmd-plugin Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-color-config Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-command Add bytes split command (#14652) 2024-12-25 07:04:43 -06:00
nu-derive-value Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-engine Change how and and or operations are compiled to IR to support custom values (#14653) 2024-12-25 06:12:53 -06:00
nu-explore Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-glob Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-json Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-lsp Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-parser Change how and and or operations are compiled to IR to support custom values (#14653) 2024-12-25 06:12:53 -06:00
nu-path Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-plugin Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-plugin-core Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-plugin-engine Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-plugin-protocol Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-plugin-test-support Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-pretty-hex Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-protocol Add bytes split command (#14652) 2024-12-25 07:04:43 -06:00
nu-std Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-system Replace std::time::Instant with web_time::Instant (#14668) 2024-12-25 16:50:02 +08:00
nu-table Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-term-grid Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-test-support Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-utils Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu_plugin_custom_values Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu_plugin_example Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu_plugin_formats Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu_plugin_gstat Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu_plugin_inc Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu_plugin_nu_example Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu_plugin_polars Polars AWS S3 support (#14648) 2024-12-25 06:15:50 -06:00
nu_plugin_python Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu_plugin_query Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu_plugin_stress_internals Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nuon Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
README.md Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00

Nushell core libraries and plugins

These sub-crates form both the foundation for Nu and a set of plugins which extend Nu with additional functionality.

Foundational libraries are split into two kinds of crates:

  • Core crates - those crates that work together to build the Nushell language engine
  • Support crates - a set of crates that support the engine with additional features like JSON support, ANSI support, and more.

Plugins are likewise also split into two types:

  • Core plugins - plugins that provide part of the default experience of Nu, including access to the system properties, processes, and web-connectivity features.
  • Extra plugins - these plugins run a wide range of different capabilities like working with different file types, charting, viewing binary data, and more.