1
0
mirror of https://github.com/nushell/nushell.git synced 2025-01-11 00:38:23 +01:00
nushell/crates
Devyn Cairns adf38c7c76
Msgpack commands ()
# Description

I thought about bringing `nu_plugin_msgpack` in, but that is MPL with a
clause that prevents other licenses, so rather than adapt that code I
decided to take a crack at just doing it straight from `rmp` to `Value`
without any `rmpv` in the middle. It seems like it's probably faster,
though I can't say for sure how much with the plugin overhead.

@IanManske I started on a `Read` implementation for `RawStream` but just
specialized to `from msgpack` here, but I'm thinking after release maybe
we can polish it up and make it a real one. It works!

# User-Facing Changes
New commands:

- `from msgpack`
- `from msgpackz`
- `to msgpack`
- `to msgpackz`

# Tests + Formatting
Pretty thorough tests added for the format deserialization, with a
roundtrip for serialization. Some example tests too for both `from
msgpack` and `to msgpack`.

- 🟢 `toolkit fmt`
- 🟢 `toolkit clippy`
- 🟢 `toolkit test`
- 🟢 `toolkit test stdlib`


# After Submitting
- [ ] update release notes
2024-04-26 06:23:16 -05:00
..
nu_plugin_custom_values Bump version to 0.92.3 () 2024-04-12 08:00:43 -05:00
nu_plugin_example Shrink the size of Expr () 2024-04-24 15:46:35 +00:00
nu_plugin_formats Shrink the size of Expr () 2024-04-24 15:46:35 +00:00
nu_plugin_gstat Bump version to 0.92.3 () 2024-04-12 08:00:43 -05:00
nu_plugin_inc Bump version to 0.92.3 () 2024-04-12 08:00:43 -05:00
nu_plugin_nu_example Add an example Nushell plugin written in Nushell itself () 2024-04-19 09:53:30 +03:00
nu_plugin_polars Shrink the size of Expr () 2024-04-24 15:46:35 +00:00
nu_plugin_python Fix the error output in the python plugin to match LabeledError () 2024-04-18 20:01:35 -05:00
nu_plugin_query Bump version to 0.92.3 () 2024-04-12 08:00:43 -05:00
nu_plugin_stress_internals Fix (and test) for a deadlock that can happen while waiting for protocol info () 2024-04-24 08:44:04 -05:00
nu-cli Remove deprecated flags on commandline () 2024-04-25 14:16:42 +00:00
nu-cmd-base Remove the Value::Block case () 2024-04-21 07:03:33 +02:00
nu-cmd-dataframe Shrink the size of Expr () 2024-04-24 15:46:35 +00:00
nu-cmd-extra Fix an into bits example () 2024-04-25 19:38:28 -05:00
nu-cmd-lang nu-cmd-lang cleanup () 2024-04-25 14:16:12 +00:00
nu-cmd-plugin Rename plugin cache file ⇒ plugin registry file () 2024-04-24 17:40:39 -05:00
nu-color-config Refactor using ClosureEval types () 2024-04-22 14:15:09 +08:00
nu-command Msgpack commands () 2024-04-26 06:23:16 -05:00
nu-engine Shrink the size of Expr () 2024-04-24 15:46:35 +00:00
nu-explore Replace subtraction of Instants and Durations with saturating subtractions () 2024-04-17 07:25:16 -05:00
nu-glob Bump version to 0.92.3 () 2024-04-12 08:00:43 -05:00
nu-json Bump version to 0.92.3 () 2024-04-12 08:00:43 -05:00
nu-lsp improve nu --lsp command tooltips () 2024-04-20 07:16:38 -05:00
nu-parser Rename plugin cache file ⇒ plugin registry file () 2024-04-24 17:40:39 -05:00
nu-path Accept filenames in other plugin management commands () 2024-04-24 06:28:45 -05:00
nu-plugin Rename plugin cache file ⇒ plugin registry file () 2024-04-24 17:40:39 -05:00
nu-plugin-test-support Local socket mode and foreground terminal control for plugins () 2024-04-15 18:28:18 +00:00
nu-pretty-hex Bump version to 0.92.3 () 2024-04-12 08:00:43 -05:00
nu-protocol Msgpack commands () 2024-04-26 06:23:16 -05:00
nu-std Fix circular source causing Nushell to crash () 2024-04-19 09:38:08 +03:00
nu-system Replace subtraction of Instants and Durations with saturating subtractions () 2024-04-17 07:25:16 -05:00
nu-table Copy-on-write for record values () 2024-04-14 01:42:03 +00:00
nu-term-grid Bump version to 0.92.3 () 2024-04-12 08:00:43 -05:00
nu-test-support Msgpack commands () 2024-04-26 06:23:16 -05:00
nu-utils Copy-on-write for record values () 2024-04-14 01:42:03 +00:00
nuon Shrink the size of Expr () 2024-04-24 15:46:35 +00: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.