mirror of
https://github.com/nushell/nushell.git
synced 2025-07-08 18:37:07 +02:00
# Description
The `update cells` command used to "work" on records by converting them
into single-row tables in the past, but strengthened input type checking
made it so that no longer worked. This commit introduces correct record
-> record functionality.
# User-Facing Changes
Users can now pipe records into `update cells`. An example inspired by a
conversation in the Discord:
```nushell
> version | update cells { split row ', ' } -c [features, installed_plugins]
╭────────────────────┬──────────────────────────────────────────╮
│ version │ 0.105.2 │
│ major │ 0 │
│ minor │ 105 │
│ patch │ 2 │
│ branch │ update-cells-record │
│ commit_hash │ 4f7e9aac62
│
│ build_os │ macos-x86_64 │
│ build_target │ x86_64-apple-darwin │
│ rust_version │ rustc 1.85.1 (4eb161250 2025-03-15) │
│ rust_channel │ 1.85.1-x86_64-apple-darwin │
│ cargo_version │ cargo 1.85.1 (d73d2caf9 2024-12-31) │
│ build_time │ 2025-06-21 12:02:06 -04:00 │
│ build_rust_channel │ debug │
│ allocator │ standard │
│ │ ╭───┬───────────────╮ │
│ features │ │ 0 │ default │ │
│ │ │ 1 │ plugin │ │
│ │ │ 2 │ rustls-tls │ │
│ │ │ 3 │ sqlite │ │
│ │ │ 4 │ trash-support │ │
│ │ ╰───┴───────────────╯ │
│ │ ╭───┬─────────────────╮ │
│ installed_plugins │ │ 0 │ formats 0.104.0 │ │
│ │ │ 1 │ polars 0.104.0 │ │
│ │ │ 2 │ query 0.104.0 │ │
│ │ │ 3 │ todotxt 0.3.0 │ │
│ │ ╰───┴─────────────────╯ │
╰────────────────────┴──────────────────────────────────────────╯
```
# Tests + Formatting
👍. Let me know if more tests besides the new example are needed.
# After Submitting
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.