nushell/crates
Piepmatz f0c83a4459
Replace raw usize IDs with new types (#13832)
# Description

In this PR I replaced most of the raw usize IDs with
[newtypes](https://doc.rust-lang.org/rust-by-example/generics/new_types.html).
Some other IDs already started using new types and in this PR I did not
want to touch them. To make the implementation less repetitive, I made
use of a generic `Id<T>` with marker structs. If this lands I would try
to move make other IDs also in this pattern.

Also at some places I needed to use `cast`, I'm not sure if the type was
incorrect and therefore casting not needed or if actually different ID
types intermingle sometimes.

# User-Facing Changes

Probably few, if you got a `DeclId` via a function and placed it later
again it will still work.
2024-09-30 13:20:15 +02:00
..
nu_plugin_custom_values Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu_plugin_example Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu_plugin_formats Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu_plugin_gstat Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu_plugin_inc Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu_plugin_nu_example Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu_plugin_polars Expose flag truncate-ragged-lines in polars open (#13939) 2024-09-27 06:54:46 -05:00
nu_plugin_python Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu_plugin_query Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu_plugin_stress_internals Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-cli Replace raw usize IDs with new types (#13832) 2024-09-30 13:20:15 +02:00
nu-cmd-base Set current working directory at startup (#12953) 2024-09-25 13:04:26 -05:00
nu-cmd-extra Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-cmd-lang Replace raw usize IDs with new types (#13832) 2024-09-30 13:20:15 +02:00
nu-cmd-plugin fix the ability to add a plugin by name instead of path (#13877) 2024-09-23 06:43:19 -05:00
nu-color-config Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-command Replace raw usize IDs with new types (#13832) 2024-09-30 13:20:15 +02:00
nu-derive-value Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-engine Replace raw usize IDs with new types (#13832) 2024-09-30 13:20:15 +02:00
nu-explore Fix issue with ls | explore coloring of file names (#13952) 2024-09-29 14:03:56 -05:00
nu-glob Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-json Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-lsp Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-parser Replace raw usize IDs with new types (#13832) 2024-09-30 13:20:15 +02:00
nu-path Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-plugin Replace raw usize IDs with new types (#13832) 2024-09-30 13:20:15 +02:00
nu-plugin-core Replace raw usize IDs with new types (#13832) 2024-09-30 13:20:15 +02:00
nu-plugin-engine Replace raw usize IDs with new types (#13832) 2024-09-30 13:20:15 +02:00
nu-plugin-protocol Replace raw usize IDs with new types (#13832) 2024-09-30 13:20:15 +02:00
nu-plugin-test-support Fix try not working with let, etc. (#13885) 2024-09-23 06:44:25 -05:00
nu-pretty-hex Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-protocol Replace raw usize IDs with new types (#13832) 2024-09-30 13:20:15 +02:00
nu-std Set current working directory at startup (#12953) 2024-09-25 13:04:26 -05:00
nu-system Fix handling of stopped TUI applications on unix (#13741) 2024-09-24 06:44:58 -05:00
nu-table Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-term-grid Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-test-support Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nu-utils Bump version to 0.98.1 (#13896) 2024-09-22 12:41:44 +08:00
nuon Replace raw usize IDs with new types (#13832) 2024-09-30 13:20:15 +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.