mirror of
https://github.com/nushell/nushell.git
synced 2025-05-07 00:12:58 +00:00
# Description After a `use std *`, the environment variables exported from the submodules' `export-env` blocks are not available because of #13403. This causes failures in `log` (currently) and will cause issues in `dirs` once we stop autoloading it separately. When the submodules are loaded separately (e.g., `use std/log`), everything already worked correctly. While this is the preferred way of doing it, we also want `use std *` to work properly. This is a workaround for the standard library submodules. It is definitely not ideal, but it can be removed when and if #13403 is fixed. For now, we need to duplicate any environment settings in both the submodules (when loaded with `use std/log`) and in the standard library itself (when loaded with `use std *`). Again, this should not be necessary, but currently is because of #13403. # User-Facing Changes Bug fix # Tests + Formatting - 🟢 `toolkit fmt` - 🟢 `toolkit clippy` - 🟢 `toolkit test` - 🟢 `toolkit test stdlib` # After Submitting N/A
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.