nushell/crates
Solomon 942030199d
check signals while printing values (#14980)
Fixes #14960

# User-Facing Changes

- The output of non-streaming values can now be interrupted with ctrl-c:

```nushell
~> use std repeat; random chars --length 100kb | repeat 2000 | str join ' ' | collect
<data omitted>^C
Error:
  × Operation interrupted
   ╭─[entry #1:1:61]
 1 │ use std repeat; random chars --length 100kb | repeat 2000 | str join ' ' | collect
   ·                                                             ────┬───
   ·                                                                 ╰── This operation was interrupted
   ╰────
```

- When IO errors occur while printing data, nushell no longer panics:

```diff
 $ nu -c "true | print" | -

-Error:
-  x Main thread panicked.
-  |-> at crates/nu-protocol/src/errors/shell_error/io.rs:198:13
-  `-> for unknown spans with paths, use `new_internal_with_path`
+Error: nu:🐚:io::broken_pipe
+
+  x I/O error
+  `->   x Broken pipe
+
+   ,-[source:1:1]
+ 1 | true | print
+   : ^^|^
+   :   `-| Writing to stdout failed
+   :     | Broken pipe
+   `----
```
2025-02-07 06:56:07 -05:00
..
nu_plugin_custom_values Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu_plugin_example Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu_plugin_formats Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu_plugin_gstat Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu_plugin_inc Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu_plugin_nu_example Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu_plugin_polars fix polars save example typo (#15008) 2025-02-06 07:01:09 -06:00
nu_plugin_python Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu_plugin_query Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu_plugin_stress_internals Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu-cli feat(cli): add vi solidus / keybinding (#14908) 2025-02-06 06:53:32 -06:00
nu-cmd-base Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu-cmd-extra Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu-cmd-lang fix: clippy warnings with --all-features (#15035) 2025-02-07 12:30:25 +01:00
nu-cmd-plugin Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu-color-config Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu-command check signals while printing values (#14980) 2025-02-07 06:56:07 -05:00
nu-derive-value Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu-engine Enable nushell error with backtrace (#14945) 2025-02-06 22:05:58 +08:00
nu-explore feat(explore): Allow expanding selected cell with 'e' (#15000) 2025-02-06 06:56:53 -06:00
nu-glob Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu-json Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu-lsp refactor(completion): AST traverse to find the inner-most expression to complete (#14973) 2025-02-06 06:49:13 -06:00
nu-parser fix extern commands' extra description (#14996) 2025-02-06 12:56:40 +01:00
nu-path Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu-plugin Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu-plugin-core Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu-plugin-engine fix: clippy warnings with --all-features (#15035) 2025-02-07 12:30:25 +01:00
nu-plugin-protocol Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu-plugin-test-support Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu-pretty-hex Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu-protocol check signals while printing values (#14980) 2025-02-07 06:56:07 -05:00
nu-std Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu-system Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu-table Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu-term-grid Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nu-test-support fix: clippy warnings with --all-features (#15035) 2025-02-07 12:30:25 +01:00
nu-utils Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05:00
nuon Bump to 0.102.1 dev version (#15012) 2025-02-05 00:19:48 -05: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.