mirror of
https://github.com/nushell/nushell.git
synced 2025-05-13 22:44:27 +02: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`).
25 lines
820 B
Rust
25 lines
820 B
Rust
#[macro_use]
|
|
mod macros;
|
|
|
|
mod call_info;
|
|
mod maybe_owned;
|
|
mod plugin;
|
|
mod return_value;
|
|
mod signature;
|
|
mod syntax_shape;
|
|
mod type_name;
|
|
mod value;
|
|
|
|
pub use crate::call_info::{CallInfo, EvaluatedArgs};
|
|
pub use crate::maybe_owned::MaybeOwned;
|
|
pub use crate::plugin::{serve_plugin, Plugin};
|
|
pub use crate::return_value::{CommandAction, ReturnSuccess, ReturnValue};
|
|
pub use crate::signature::{NamedType, PositionalType, Signature};
|
|
pub use crate::syntax_shape::SyntaxShape;
|
|
pub use crate::type_name::{PrettyType, ShellTypeName, SpannedTypeName};
|
|
pub use crate::value::column_path::{ColumnPath, PathMember, UnspannedPathMember};
|
|
pub use crate::value::dict::Dictionary;
|
|
pub use crate::value::evaluate::{Evaluate, EvaluateTrait, Scope};
|
|
pub use crate::value::primitive::Primitive;
|
|
pub use crate::value::{UntaggedValue, Value};
|