mirror of
https://github.com/nushell/nushell.git
synced 2025-05-28 02:21:19 +00:00
## Fix `nu-path` usage in `nu!` testing macro The `nu-path` crate needs to be properly re-exported so the generated code is valid if `nu-path` is not present among the dependencies of the using crate. Usage of crates in `macro_rules!` macros has to follow the `$crate::symbol_in_crate` path pattern (With an absolute path-spec also for macros defined in submodules) ## Move `nu-test-support` to devdeps in `nu-protocol` Also remove the now unnecessary direct dependency on `nu-path`. `nu!` macro had to be changed to make it a proper transitive dependency.
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.