2020-01-02 17:51:20 +00:00
|
|
|
#![recursion_limit = "2048"]
|
2019-07-03 20:31:15 +00:00
|
|
|
|
2019-10-18 12:08:04 +00:00
|
|
|
#[cfg(test)]
|
|
|
|
#[macro_use]
|
|
|
|
extern crate indexmap;
|
|
|
|
|
2019-07-03 20:31:15 +00:00
|
|
|
#[macro_use]
|
|
|
|
mod prelude;
|
2019-06-27 04:56:48 +00:00
|
|
|
|
|
|
|
mod cli;
|
|
|
|
mod commands;
|
|
|
|
mod context;
|
2019-09-05 16:23:42 +00:00
|
|
|
mod data;
|
Extract core stuff into own crates
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`).
2019-11-26 02:30:48 +00:00
|
|
|
mod deserializer;
|
2019-06-27 04:56:48 +00:00
|
|
|
mod env;
|
|
|
|
mod evaluate;
|
|
|
|
mod format;
|
|
|
|
mod git;
|
|
|
|
mod shell;
|
|
|
|
mod stream;
|
2019-07-24 04:10:48 +00:00
|
|
|
mod utils;
|
2019-06-27 04:56:48 +00:00
|
|
|
|
2020-02-14 05:24:18 +00:00
|
|
|
pub use crate::cli::{cli, create_default_context, load_plugins, run_pipeline_standalone};
|
2019-12-04 19:52:31 +00:00
|
|
|
pub use crate::data::dict::TaggedListBuilder;
|
Extract core stuff into own crates
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`).
2019-11-26 02:30:48 +00:00
|
|
|
pub use crate::data::primitive;
|
|
|
|
pub use crate::data::value;
|
2020-02-14 05:24:18 +00:00
|
|
|
pub use crate::env::environment_syncer::EnvironmentSyncer;
|
2019-07-04 05:11:56 +00:00
|
|
|
pub use crate::env::host::BasicHost;
|
Extract core stuff into own crates
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`).
2019-11-26 02:30:48 +00:00
|
|
|
pub use nu_parser::TokenTreeBuilder;
|
2019-12-09 18:52:01 +00:00
|
|
|
pub use nu_value_ext::ValueExt;
|
2019-08-30 17:29:04 +00:00
|
|
|
pub use num_traits::cast::ToPrimitive;
|
Extract core stuff into own crates
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`).
2019-11-26 02:30:48 +00:00
|
|
|
|
|
|
|
// TODO: Temporary redirect
|
2019-12-27 13:30:14 +00:00
|
|
|
pub use nu_protocol::{did_you_mean, TaggedDictBuilder};
|