nushell/crates
Stefan Holderbach 592dc4bbfa
Fix return in filter closure eval (#12292)
# Description
Closes https://github.com/nushell/nushell/issues/12257

This was down to the use of `eval_block` instead of
`eval_block_with_early_return`. We may want to reconsider how we
differentiate between this behavior. We currently need to check all the
remaining commands that can invoke a closure block, if they properly
handle `ShellError::Return` as a passing of a `Value`

- **Add test for `return` in `filter` closure**
- **Fix use of `return` in `filter` closure**

# User-Facing Changes
You can now return a value from a `filter` closure


# Tests + Formatting
Regression test
2024-03-26 17:50:36 +01:00
..
nu-cli Boxes record for smaller Value enum. (#12252) 2024-03-26 17:17:44 +02:00
nu-cmd-base Boxes record for smaller Value enum. (#12252) 2024-03-26 17:17:44 +02:00
nu-cmd-dataframe Boxes record for smaller Value enum. (#12252) 2024-03-26 17:17:44 +02:00
nu-cmd-extra Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-cmd-lang Boxes record for smaller Value enum. (#12252) 2024-03-26 17:17:44 +02:00
nu-color-config Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-command Fix return in filter closure eval (#12292) 2024-03-26 17:50:36 +01:00
nu-engine Boxes record for smaller Value enum. (#12252) 2024-03-26 17:17:44 +02:00
nu-explore Boxes record for smaller Value enum. (#12252) 2024-03-26 17:17:44 +02:00
nu-glob Fix ignored clippy lints (#12160) 2024-03-11 19:46:04 +01:00
nu-json Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-lsp Send LSP Completion Item Kind (#11443) 2024-03-24 20:14:12 -05:00
nu-parser Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-path ls, rm, cp, open, touch, mkdir: Don't expand tilde if input path is quoted string or a variable. (#12232) 2024-03-25 10:08:38 +08:00
nu-plugin Remove dead impl PluginEncoder for EncodingType (#12284) 2024-03-26 12:11:49 +01:00
nu-plugin-test-support Add example tests (nu-plugin-test-support) for plugins in repo (#12281) 2024-03-25 21:20:35 -05:00
nu-pretty-hex nu-explore/ Use hex-dump for binary data (#12184) 2024-03-21 19:02:03 -05:00
nu-protocol Boxes record for smaller Value enum. (#12252) 2024-03-26 17:17:44 +02:00
nu-std to json -r not removing whitespaces fix (#11948) 2024-03-20 22:14:31 +01:00
nu-system Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-table Boxes record for smaller Value enum. (#12252) 2024-03-26 17:17:44 +02:00
nu-term-grid Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-test-support Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-utils Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu_plugin_custom_values Add example tests (nu-plugin-test-support) for plugins in repo (#12281) 2024-03-25 21:20:35 -05:00
nu_plugin_example Add example tests (nu-plugin-test-support) for plugins in repo (#12281) 2024-03-25 21:20:35 -05:00
nu_plugin_formats Add example tests (nu-plugin-test-support) for plugins in repo (#12281) 2024-03-25 21:20:35 -05:00
nu_plugin_gstat Better generic errors for plugins (and perhaps scripts) (#12236) 2024-03-21 12:27:21 +01:00
nu_plugin_inc Better generic errors for plugins (and perhaps scripts) (#12236) 2024-03-21 12:27:21 +01:00
nu_plugin_python Improve the error message for a plugin version mismatch (#12122) 2024-03-08 06:04:22 -06:00
nu_plugin_query Support for getting help text from a plugin command (#12243) 2024-03-24 07:30:38 +08: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.