nushell/crates
Simon Curtis f05162811c
Implementing ByteStream interuption on infinite stream (#13552)
# Description

This PR should address #13530 by explicitly handling ByteStreams. 

The issue can be replicated easily on linux by running:

```nushell
open /dev/urandom | into binary | bytes at ..10
```

Would leave the output hanging and with no way to cancel it, this was
likely because it was trying to collect the input stream and would not
complete.

I have also put in an error to say that using negative offsets for a
bytestream without a length cannot be used.

```nushell
~/git/nushell> open /dev/urandom | into binary | bytes at (-1)..
Error: nu:🐚:incorrect_value

  × Incorrect value.
   ╭─[entry #3:1:35]
 1 │ open /dev/urandom | into binary | bytes at (-1)..
   ·                                   ────┬─── ───┬──
   ·                                       │       ╰── encountered here
   ·                                       ╰── Negative range values cannot be used with streams that don't specify a length
   ╰────
   ```

# User-Facing Changes

No operation changes, only the warning you get back for negative offsets

# Tests + Formatting

Ran `toolkit check pr ` with no errors or warnings

Manual testing of the example commands above

---------

Co-authored-by: Ian Manske <ian.manske@pm.me>
Co-authored-by: Simon Curtis <simon.curtis@candc-uk.com>
2025-01-11 13:28:08 -08: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 git2 from 0.19.0 to 0.20.0 (#14776) 2025-01-08 13:53:02 +00: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 Add run-time type checking for command pipeline input (#14741) 2025-01-08 23:09:47 +01: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
nu-cli Convert Path to list in main and preserve case (#14764) 2025-01-10 10:18:44 -06:00
nu-cmd-base Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-cmd-extra Implementing ByteStream interuption on infinite stream (#13552) 2025-01-11 13:28:08 -08:00
nu-cmd-lang Implementing ByteStream interuption on infinite stream (#13552) 2025-01-11 13:28:08 -08: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 Implementing ByteStream interuption on infinite stream (#13552) 2025-01-11 13:28:08 -08:00
nu-derive-value Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-engine Convert Path to list in main and preserve case (#14764) 2025-01-10 10:18:44 -06:00
nu-explore bump to rust version 1.82 (#14795) 2025-01-11 07:14:55 -06:00
nu-glob Create nu_glob::is_glob function (#14717) 2025-01-01 19:04:17 -05:00
nu-json Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-lsp fix(lsp): PWD env_var (#14805) 2025-01-11 08:03:53 -06:00
nu-parser fix: unknown span for special variables $in/$it (#14789) 2025-01-11 06:53:08 -06:00
nu-path Don't expand ndots if prefixed with ./ (#14755) 2025-01-05 17:07:34 -05: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 Convert Path to list in main and preserve case (#14764) 2025-01-10 10:18:44 -06: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 Implementing ByteStream interuption on infinite stream (#13552) 2025-01-11 13:28:08 -08:00
nu-std Add run-time type checking for command pipeline input (#14741) 2025-01-08 23:09:47 +01:00
nu-system Replace std::time::Instant with web_time::Instant (#14668) 2024-12-25 16:50:02 +08:00
nu-table [WIP] Try to fix tabled panic (#14710) 2025-01-01 08:09:23 -06: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 Add auto option for config.use_ansi_coloring (#14647) 2024-12-26 11:00:01 -06:00
nuon fix nuon conversions of range values (#14687) 2025-01-07 21:29:39 +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.