mirror of
https://github.com/danbulant/nushell
synced 2026-05-22 13:59:17 +00:00
This commit extracts five new crates:
- nu-source, which contains the core source-code handling logic in Nu,
including Text, Span, and also the pretty.rs-based debug logic
- nu-parser, which is the parser and expander logic
- nu-protocol, which is the bulk of the types and basic conveniences
used by plugins
- nu-errors, which contains ShellError, ParseError and error handling
conveniences
- nu-textview, which is the textview plugin extracted into a crate
One of the major consequences of this refactor is that it's no longer
possible to `impl X for Spanned<Y>` outside of the `nu-source` crate, so
a lot of types became more concrete (Value became a concrete type
instead of Spanned<Value>, for example).
This also turned a number of inherent methods in the main nu crate into
plain functions (impl Value {} became a bunch of functions in the
`value` namespace in `crate::data::value`).
|
||
|---|---|---|
| .. | ||
| value | ||
| call_info.rs | ||
| lib.rs | ||
| macros.rs | ||
| maybe_owned.rs | ||
| plugin.rs | ||
| return_value.rs | ||
| signature.rs | ||
| syntax_shape.rs | ||
| type_name.rs | ||
| value.rs | ||