nushell/crates
Stefan Holderbach b19da158d5
Rename Value::CustomValue to Value::Custom (#12309)
# Description
The second `Value` is redundant and will consume five extra bytes on
each transmission of a custom value to/from a plugin.

# User-Facing Changes
This is a breaking change to the plugin protocol.

The [example in the protocol
reference](https://www.nushell.sh/contributor-book/plugin_protocol_reference.html#value)
becomes

```json
{
  "Custom": {
    "val": {
      "type": "PluginCustomValue",
      "name": "database",
      "data": [36, 190, 127, 40, 12, 3, 46, 83],
      "notify_on_drop": true
    },
    "span": {
      "start": 320,
      "end": 340
    }
  }
}
```

instead of 

```json
{
  "CustomValue": {
    ...
  }
}
```


# After Submitting
Update plugin protocol reference
2024-03-27 22:10:56 +01:00
..
nu-cli Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
nu-cmd-base Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
nu-cmd-dataframe Rename Value::CustomValue to Value::Custom (#12309) 2024-03-27 22:10:56 +01:00
nu-cmd-extra Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
nu-cmd-lang Rename Value::CustomValue to Value::Custom (#12309) 2024-03-27 22:10:56 +01:00
nu-color-config Rename Value::CustomValue to Value::Custom (#12309) 2024-03-27 22:10:56 +01:00
nu-command Rename Value::CustomValue to Value::Custom (#12309) 2024-03-27 22:10:56 +01:00
nu-engine Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
nu-explore Add command_prelude module (#12291) 2024-03-26 21:17:30 +00: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 Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
nu-parser Add command_prelude module (#12291) 2024-03-26 21:17:30 +00: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 Rename Value::CustomValue to Value::Custom (#12309) 2024-03-27 22:10:56 +01:00
nu-plugin-test-support Rename Value::CustomValue to Value::Custom (#12309) 2024-03-27 22:10:56 +01:00
nu-pretty-hex nu-explore/ Use hex-dump for binary data (#12184) 2024-03-21 19:02:03 -05:00
nu-protocol Rename Value::CustomValue to Value::Custom (#12309) 2024-03-27 22:10:56 +01:00
nu-std ♻️ rework some help strings (#12306) 2024-03-27 08:41:02 -05:00
nu-system Deduplicate nix dependency versions (#12307) 2024-03-27 16:43:37 +01:00
nu-table Add command_prelude module (#12291) 2024-03-26 21:17:30 +00: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 Rename Value::CustomValue to Value::Custom (#12309) 2024-03-27 22:10:56 +01:00
nu_plugin_example Change PluginCommand API to be more like Command (#12279) 2024-03-27 11:59:57 +01:00
nu_plugin_formats Change PluginCommand API to be more like Command (#12279) 2024-03-27 11:59:57 +01:00
nu_plugin_gstat Change PluginCommand API to be more like Command (#12279) 2024-03-27 11:59:57 +01:00
nu_plugin_inc Change PluginCommand API to be more like Command (#12279) 2024-03-27 11:59:57 +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 Change PluginCommand API to be more like Command (#12279) 2024-03-27 11:59:57 +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.