nushell/crates
Piepmatz 1128df2d29
Added record key renaming for derive macros IntoValue and FromValue (#13699)
# Description

Using derived `IntoValue` and `FromValue` implementations on structs
with named fields currently produce `Value::Record`s where each key is
the key of the Rust struct. For records like the `$nu` constant, that
won't work as this record uses `kebab-case` for it's keys. To accomodate
this, I upgraded the `#[nu_value(rename_all = "...")]` helper attribute
to also work on structs with named fields which will rename the keys via
the same case conversion as the enums already have.

# User-Facing Changes
Users of these macros may choose different key styles for their in
`Value` representation.

# Tests + Formatting
I added the same test suite as enums already have and updated the traits
documentation with more examples that also pass the doc test.

# After Submitting
I played around with the `$nu` constant but got stuck at the point that
these keys are kebab-cased, with this, I can play around more with it.
2024-08-27 20:00:44 +02:00
..
nu_plugin_custom_values Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu_plugin_example Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu_plugin_formats Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu_plugin_gstat Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu_plugin_inc Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu_plugin_nu_example Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu_plugin_polars Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu_plugin_python Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu_plugin_query Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu_plugin_stress_internals Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu-cli Use right options in custom completions (#13698) 2024-08-26 12:14:57 -05:00
nu-cmd-base Bump version to 0.97.2 (#13666) 2024-08-22 11:36:32 +02:00
nu-cmd-extra encode/decode for multiple alphabets (#13428) 2024-08-23 11:18:51 -05:00
nu-cmd-lang Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu-cmd-plugin Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu-color-config Bump version to 0.97.2 (#13666) 2024-08-22 11:36:32 +02:00
nu-command Fix encode/decode todo's (#13683) 2024-08-24 09:02:02 -05:00
nu-derive-value Added record key renaming for derive macros IntoValue and FromValue (#13699) 2024-08-27 20:00:44 +02:00
nu-engine doc: fix broken doc links (#13644) 2024-08-23 21:17:44 +02:00
nu-explore Remove unnecessary sort in explore search fn (#13690) 2024-08-25 20:13:05 +02:00
nu-glob Bump version to 0.97.2 (#13666) 2024-08-22 11:36:32 +02:00
nu-json Bump version to 0.97.2 (#13666) 2024-08-22 11:36:32 +02:00
nu-lsp Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu-parser Improve help output for scripts (#13445) 2024-08-23 21:08:27 +02:00
nu-path Bump version to 0.97.2 (#13666) 2024-08-22 11:36:32 +02:00
nu-plugin Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu-plugin-core Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu-plugin-engine doc: fix broken doc links (#13644) 2024-08-23 21:17:44 +02:00
nu-plugin-protocol Bump version to 0.97.2 (#13666) 2024-08-22 11:36:32 +02:00
nu-plugin-test-support Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu-pretty-hex Bump version to 0.97.2 (#13666) 2024-08-22 11:36:32 +02:00
nu-protocol Added record key renaming for derive macros IntoValue and FromValue (#13699) 2024-08-27 20:00:44 +02:00
nu-std Change the usage misnomer to "description" (#13598) 2024-08-22 12:02:08 +02:00
nu-system Bump version to 0.97.2 (#13666) 2024-08-22 11:36:32 +02:00
nu-table [DRAFT] Check fix for emojie, wrap issues (#13430) 2024-08-23 17:35:42 -05:00
nu-term-grid Bump version to 0.97.2 (#13666) 2024-08-22 11:36:32 +02:00
nu-test-support Bump version to 0.97.2 (#13666) 2024-08-22 11:36:32 +02:00
nu-utils Bump version to 0.97.2 (#13666) 2024-08-22 11:36:32 +02:00
nuon Bump version to 0.97.2 (#13666) 2024-08-22 11:36:32 +02: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.