nushell/crates
JT 1e3e034021
Spanned Value step 1: span all value cases (#10042)
# Description

This doesn't really do much that the user could see, but it helps get us
ready to do the steps of the refactor to split the span off of Value, so
that values can be spanless. This allows us to have top-level values
that can hold both a Value and a Span, without requiring that all values
have them.

We expect to see significant memory reduction by removing so many
unnecessary spans from values. For example, a table of 100,000 rows and
5 columns would have a savings of ~8megs in just spans that are almost
always duplicated.

# User-Facing Changes

Nothing yet

# Tests + Formatting
<!--
Don't forget to add tests that cover your changes.

Make sure you've run and fixed any issues with these commands:

- `cargo fmt --all -- --check` to check standard code formatting (`cargo
fmt --all` applies these changes)
- `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used -A
clippy::needless_collect -A clippy::result_large_err` to check that
you're using the standard code style
- `cargo test --workspace` to check that all tests pass
- `cargo run -- -c "use std testing; testing run-tests --path
crates/nu-std"` to run the tests for the standard library

> **Note**
> from `nushell` you can also use the `toolkit` as follows
> ```bash
> use toolkit.nu # or use an `env_change` hook to activate it
automatically
> toolkit check pr
> ```
-->

# After Submitting
<!-- If your PR had any user-facing changes, update [the
documentation](https://github.com/nushell/nushell.github.io) after the
PR is merged, if necessary. This will help us keep the docs up to date.
-->
2023-08-25 08:48:05 +12:00
..
nu-cli Spanned Value step 1: span all value cases (#10042) 2023-08-25 08:48:05 +12:00
nu-cmd-base Spanned Value step 1: span all value cases (#10042) 2023-08-25 08:48:05 +12:00
nu-cmd-dataframe Spanned Value step 1: span all value cases (#10042) 2023-08-25 08:48:05 +12:00
nu-cmd-extra Spanned Value step 1: span all value cases (#10042) 2023-08-25 08:48:05 +12:00
nu-cmd-lang Spanned Value step 1: span all value cases (#10042) 2023-08-25 08:48:05 +12:00
nu-color-config Create Record type (#10103) 2023-08-25 07:50:29 +12:00
nu-command Spanned Value step 1: span all value cases (#10042) 2023-08-25 08:48:05 +12:00
nu-engine Spanned Value step 1: span all value cases (#10042) 2023-08-25 08:48:05 +12:00
nu-explore Spanned Value step 1: span all value cases (#10042) 2023-08-25 08:48:05 +12:00
nu-glob bump nushell to dev version 0.84.1 (#10101) 2023-08-23 15:23:27 -05:00
nu-json bump nushell to dev version 0.84.1 (#10101) 2023-08-23 15:23:27 -05:00
nu-parser Spanned Value step 1: span all value cases (#10042) 2023-08-25 08:48:05 +12:00
nu-path bump nushell to dev version 0.84.1 (#10101) 2023-08-23 15:23:27 -05:00
nu-plugin bump nushell to dev version 0.84.1 (#10101) 2023-08-23 15:23:27 -05:00
nu-pretty-hex bump nushell to dev version 0.84.1 (#10101) 2023-08-23 15:23:27 -05:00
nu-protocol Spanned Value step 1: span all value cases (#10042) 2023-08-25 08:48:05 +12:00
nu-std bump nushell to dev version 0.84.1 (#10101) 2023-08-23 15:23:27 -05:00
nu-system bump nushell to dev version 0.84.1 (#10101) 2023-08-23 15:23:27 -05:00
nu-table Spanned Value step 1: span all value cases (#10042) 2023-08-25 08:48:05 +12:00
nu-term-grid bump nushell to dev version 0.84.1 (#10101) 2023-08-23 15:23:27 -05:00
nu-test-support bump nushell to dev version 0.84.1 (#10101) 2023-08-23 15:23:27 -05:00
nu-utils bump nushell to dev version 0.84.1 (#10101) 2023-08-23 15:23:27 -05:00
nu_plugin_custom_values Spanned Value step 1: span all value cases (#10042) 2023-08-25 08:48:05 +12:00
nu_plugin_example Create Record type (#10103) 2023-08-25 07:50:29 +12:00
nu_plugin_formats Spanned Value step 1: span all value cases (#10042) 2023-08-25 08:48:05 +12:00
nu_plugin_gstat Spanned Value step 1: span all value cases (#10042) 2023-08-25 08:48:05 +12:00
nu_plugin_inc bump nushell to dev version 0.84.1 (#10101) 2023-08-23 15:23:27 -05:00
nu_plugin_python remove vectorize_over_list from python plugin (#9905) 2023-08-03 16:46:48 +02:00
nu_plugin_query Spanned Value step 1: span all value cases (#10042) 2023-08-25 08:48:05 +12: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.