nushell/crates
Bahex f63cecc316
add metadata access command (#13785)
# Description
Add `metadata access`, which allows accessing/inspecting the metadata of
a stream in a closure.
```nu
ls | metadata access {|meta|
    ...
}
```

- The metadata is provided as an argument to the closure, identical to
the record obtained with `metadata` command.

- `metadata access` passes its input stream into the closure as it is.

- Within the closure, both the metadata and the stream are available.
The closure may modify, collect or pass the stream as it is.

# Motivation
- Without this command, nu code can't act on metadata without losing the
stream, use cases requiring both the stream and metadata must be
implemented either as a built-in or a plugin.

- This command allows users to enhance presentation of data, similar to
`table` coloring the output of `ls`.
2024-09-11 12:44:06 -05:00
..
nu_plugin_custom_values Fixup serde feature selection in nu-protocol (#13793) 2024-09-06 00:57:36 +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 Migrating polars commands away from macros, removed custom DataFrame comparison. (#13829) 2024-09-11 10:33:05 -07: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 Expand multiple dots in path in completions (#13725) 2024-09-09 14:39:18 -04:00
nu-cmd-base Error on non-zero exit statuses (#13515) 2024-09-07 06:44:26 +00:00
nu-cmd-extra Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-cmd-lang Bump shadow-rs from 0.33.0 to 0.34.0 (#13825) 2024-09-11 14:35:27 +08:00
nu-cmd-plugin Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-color-config Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-command add metadata access command (#13785) 2024-09-11 12:44:06 -05:00
nu-derive-value Use IntoValue in config code (#13751) 2024-09-05 09:44:23 +02:00
nu-engine Fix remaining mismatch for env handling in IR (#13796) 2024-09-10 11:03:06 +08:00
nu-explore Use IntoValue in config code (#13751) 2024-09-05 09:44:23 +02:00
nu-glob Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-json Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-lsp Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-parser Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-path Expand multiple dots in path in completions (#13725) 2024-09-09 14:39:18 -04:00
nu-plugin add version and path to plugin executable help (#13764) 2024-09-03 12:46:36 -05:00
nu-plugin-core Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-plugin-engine Error on non-zero exit statuses (#13515) 2024-09-07 06:44:26 +00:00
nu-plugin-protocol Remove bincode and use MessagePack instead for plugin custom values (#13745) 2024-09-01 17:33:10 +02:00
nu-plugin-test-support Error on non-zero exit statuses (#13515) 2024-09-07 06:44:26 +00:00
nu-pretty-hex Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-protocol Fix IR for try (#13811) 2024-09-09 19:44:04 -07:00
nu-std Error on non-zero exit statuses (#13515) 2024-09-07 06:44:26 +00:00
nu-system bump rust version to 1.79.0 (#13809) 2024-09-08 16:15:54 -05:00
nu-table Fix padding issue with header_on_border (#13808) 2024-09-11 06:12:53 -05:00
nu-term-grid Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-test-support Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +02:00
nu-utils Error on non-zero exit statuses (#13515) 2024-09-07 06:44:26 +00:00
nuon Setup global cargo lint configuration (#13691) 2024-08-28 23:37:17 +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.