diff --git a/Cargo.lock b/Cargo.lock index cc0e67d3..ff2f4b72 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3043,6 +3043,7 @@ dependencies = [ "itertools", "log 0.4.11", "nu-cli", + "nu-command", "nu-data", "nu-engine", "nu-errors", @@ -3076,6 +3077,110 @@ dependencies = [ [[package]] name = "nu-cli" version = "0.25.2" +dependencies = [ + "Inflector", + "ansi_term 0.12.1", + "arboard", + "async-recursion", + "async-trait", + "base64 0.13.0", + "bigdecimal", + "byte-unit", + "bytes 0.5.6", + "calamine", + "chrono", + "chrono-tz", + "clap", + "codespan-reporting", + "csv", + "ctrlc", + "derive-new", + "directories 3.0.1", + "dirs 3.0.1", + "dtparse", + "dunce", + "eml-parser", + "encoding_rs", + "filesize", + "fs_extra", + "futures 0.3.8", + "futures-util", + "futures_codec", + "getset", + "git2", + "glob", + "heim", + "htmlescape", + "ical", + "ichwh", + "indexmap", + "itertools", + "lazy_static 1.4.0", + "log 0.4.11", + "meval", + "nu-command", + "nu-data", + "nu-engine", + "nu-errors", + "nu-json", + "nu-parser", + "nu-plugin", + "nu-protocol", + "nu-source", + "nu-stream", + "nu-table", + "nu-test-support", + "nu-value-ext", + "num-bigint 0.3.1", + "num-format", + "num-traits 0.2.14", + "parking_lot 0.11.1", + "pin-utils", + "pretty-hex", + "ptree", + "query_interface", + "quick-xml 0.20.0", + "quickcheck", + "quickcheck_macros", + "rand 0.7.3", + "rayon", + "regex 1.4.2", + "roxmltree", + "rusqlite", + "rust-embed", + "rustyline", + "serde 1.0.118", + "serde_bytes", + "serde_ini", + "serde_json", + "serde_urlencoded 0.7.0", + "serde_yaml", + "sha2 0.9.2", + "shadow-rs", + "shellexpand", + "strip-ansi-escapes", + "sxd-document", + "sxd-xpath", + "tempfile", + "term", + "term_size", + "termcolor", + "titlecase", + "toml", + "trash", + "umask", + "unicode-segmentation", + "uom", + "url", + "users", + "uuid", + "which", + "zip", +] + +[[package]] +name = "nu-command" +version = "0.25.2" dependencies = [ "Inflector", "ansi_term 0.12.1", @@ -3176,18 +3281,6 @@ dependencies = [ "zip", ] -[[package]] -name = "nu-core-commands" -version = "0.25.2" -dependencies = [ - "async-trait", - "eml-parser", - "nu-errors", - "nu-protocol", - "nu-source", - "serde 1.0.118", -] - [[package]] name = "nu-data" version = "0.25.2" diff --git a/Cargo.toml b/Cargo.toml index 21857174..fc1c3e40 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,6 +19,7 @@ members = ["crates/*/"] [dependencies] nu-cli = {version = "0.25.2", path = "./crates/nu-cli"} +nu-command = {version = "0.25.2", path = "./crates/nu-command"} nu-data = {version = "0.25.2", path = "./crates/nu-data"} nu-engine = {version = "0.25.2", path = "./crates/nu-engine"} nu-errors = {version = "0.25.2", path = "./crates/nu-errors"} @@ -62,15 +63,15 @@ nu-test-support = {version = "0.25.2", path = "./crates/nu-test-support"} [build-dependencies] [features] -ctrlc-support = ["nu-cli/ctrlc"] -directories-support = ["nu-cli/directories", "nu-cli/dirs", "nu-data/directories", "nu-data/dirs"] -git-support = ["nu-cli/git2"] -ptree-support = ["nu-cli/ptree"] -rich-benchmark = ["nu-cli/rich-benchmark"] -rustyline-support = ["nu-cli/rustyline-support"] -term-support = ["nu-cli/term"] -uuid-support = ["nu-cli/uuid_crate"] -which-support = ["nu-cli/ichwh", "nu-cli/which"] +ctrlc-support = ["nu-cli/ctrlc", "nu-command/ctrlc"] +directories-support = ["nu-cli/directories", "nu-cli/dirs", "nu-command/directories", "nu-command/dirs", "nu-data/directories", "nu-data/dirs"] +git-support = ["nu-cli/git2", "nu-command/git2"] +ptree-support = ["nu-cli/ptree", "nu-command/ptree"] +rich-benchmark = ["nu-cli/rich-benchmark", "nu-command/rich-benchmark"] +rustyline-support = ["nu-cli/rustyline-support", "nu-command/rustyline-support"] +term-support = ["nu-cli/term", "nu-command/term"] +uuid-support = ["nu-cli/uuid_crate", "nu-command/uuid_crate"] +which-support = ["nu-cli/ichwh", "nu-cli/which", "nu-command/ichwh", "nu-command/which"] default = [ "sys", @@ -106,18 +107,18 @@ post = ["nu_plugin_post"] ps = ["nu_plugin_ps"] sys = ["nu_plugin_sys"] textview = ["nu_plugin_textview"] -zip-support = ["nu-cli/zip"] +zip-support = ["nu-cli/zip", "nu-command/zip"] # Extra binaryview = ["nu_plugin_binaryview"] bson = ["nu_plugin_from_bson", "nu_plugin_to_bson"] chart = ["nu_plugin_chart"] -clipboard-cli = ["nu-cli/clipboard-cli"] +clipboard-cli = ["nu-cli/clipboard-cli", "nu-command/clipboard-cli"] s3 = ["nu_plugin_s3"] selector = ["nu_plugin_selector"] sqlite = ["nu_plugin_from_sqlite", "nu_plugin_to_sqlite"] start = ["nu_plugin_start"] -trash-support = ["nu-cli/trash-support"] +trash-support = ["nu-cli/trash-support", "nu-command/trash-support"] tree = ["nu_plugin_tree"] xpath = ["nu_plugin_xpath"] diff --git a/crates/nu-cli/Cargo.toml b/crates/nu-cli/Cargo.toml index b43ec05f..05883231 100644 --- a/crates/nu-cli/Cargo.toml +++ b/crates/nu-cli/Cargo.toml @@ -11,6 +11,7 @@ version = "0.25.2" doctest = false [dependencies] +nu-command = {version = "0.25.2", path = "../nu-command"} nu-data = {version = "0.25.2", path = "../nu-data"} nu-engine = {version = "0.25.2", path = "../nu-engine"} nu-errors = {version = "0.25.2", path = "../nu-errors"} diff --git a/crates/nu-cli/src/cli.rs b/crates/nu-cli/src/cli.rs index 6581a4b5..4f613b1d 100644 --- a/crates/nu-cli/src/cli.rs +++ b/crates/nu-cli/src/cli.rs @@ -1,10 +1,12 @@ -use crate::commands::default_context::create_default_context; use crate::line_editor::configure_ctrl_c; +use nu_command::commands::default_context::create_default_context; +#[allow(unused_imports)] +use nu_command::maybe_print_errors; use nu_engine::run_block; use nu_engine::EvaluationContext; #[allow(unused_imports)] -pub(crate) use crate::script::{process_script, LineResult}; +pub(crate) use nu_command::script::{process_script, LineResult}; #[cfg(feature = "rustyline-support")] use crate::line_editor::{ @@ -19,7 +21,7 @@ use nu_stream::InputStream; #[allow(unused_imports)] use std::sync::atomic::Ordering; -use crate::script::{print_err, run_script_standalone}; +use nu_command::script::{print_err, run_script_standalone}; #[cfg(feature = "rustyline-support")] use rustyline::{self, error::ReadlineError}; @@ -64,21 +66,6 @@ pub fn search_paths() -> Vec { search_paths } -pub fn maybe_print_errors(context: &EvaluationContext, source: Text) -> bool { - let errors = context.current_errors.clone(); - let mut errors = errors.lock(); - - if errors.len() > 0 { - let error = errors[0].clone(); - *errors = vec![]; - - crate::script::print_err(error, &source); - true - } else { - false - } -} - pub async fn run_script_file( file_contents: String, redirect_stdin: bool, diff --git a/crates/nu-cli/src/env/directory_specific_environment.rs b/crates/nu-cli/src/env/directory_specific_environment.rs index 592c60a4..32bda8a9 100644 --- a/crates/nu-cli/src/env/directory_specific_environment.rs +++ b/crates/nu-cli/src/env/directory_specific_environment.rs @@ -1,6 +1,5 @@ -use crate::commands; -use commands::autoenv; use indexmap::{IndexMap, IndexSet}; +use nu_command::commands::autoenv; use nu_errors::ShellError; use serde::Deserialize; use std::env::*; diff --git a/crates/nu-cli/src/lib.rs b/crates/nu-cli/src/lib.rs index b67d30e3..4afa294f 100644 --- a/crates/nu-cli/src/lib.rs +++ b/crates/nu-cli/src/lib.rs @@ -14,32 +14,25 @@ extern crate quickcheck; extern crate quickcheck_macros; mod cli; -mod commands; #[cfg(feature = "rustyline-support")] mod completion; mod env; mod format; -mod futures; #[cfg(feature = "rustyline-support")] mod git; #[cfg(feature = "rustyline-support")] mod keybinding; mod line_editor; -pub mod script; mod shell; pub mod types; -pub mod utils; - -#[cfg(test)] -mod examples; #[cfg(feature = "rustyline-support")] pub use crate::cli::cli; pub use crate::cli::{parse_and_eval, register_plugins, run_script_file}; -pub use crate::commands::default_context::create_default_context; pub use crate::env::environment_syncer::EnvironmentSyncer; +pub use nu_command::commands::default_context::create_default_context; pub use nu_data::config; pub use nu_data::dict::TaggedListBuilder; pub use nu_data::primitive; diff --git a/crates/nu-cli/src/line_editor.rs b/crates/nu-cli/src/line_editor.rs index 3f46ad5e..0ed4272b 100644 --- a/crates/nu-cli/src/line_editor.rs +++ b/crates/nu-cli/src/line_editor.rs @@ -5,7 +5,7 @@ use std::error::Error; use crate::prelude::*; #[allow(unused_imports)] -use crate::script::LineResult; +use nu_command::script::LineResult; #[cfg(feature = "rustyline-support")] use crate::shell::Helper; diff --git a/crates/nu-cli/src/prelude.rs b/crates/nu-cli/src/prelude.rs index b81bbb32..d111a929 100644 --- a/crates/nu-cli/src/prelude.rs +++ b/crates/nu-cli/src/prelude.rs @@ -46,36 +46,17 @@ macro_rules! trace_out_stream { }}; } -pub(crate) use nu_protocol::{out, outln, row}; - -pub(crate) use crate::cli::maybe_print_errors; -pub(crate) use crate::commands::command::RunnableContext; -pub(crate) use async_trait::async_trait; -pub(crate) use bigdecimal::BigDecimal; pub(crate) use futures::{Stream, StreamExt}; -pub(crate) use indexmap::{indexmap, IndexMap}; -pub(crate) use itertools::Itertools; -pub(crate) use nu_data::config; -pub(crate) use nu_data::value; -pub(crate) use nu_engine::EvaluationContext; -pub(crate) use nu_engine::Example; pub(crate) use nu_engine::Host; -pub(crate) use nu_engine::RawCommandArgs; -pub(crate) use nu_engine::ShellManager; -pub(crate) use nu_engine::{get_help, CommandArgs, Scope, WholeStreamCommand}; +#[allow(unused_imports)] pub(crate) use nu_errors::ShellError; -pub(crate) use nu_parser::ParserScope; -pub(crate) use nu_source::{AnchorLocation, PrettyDebug, Span, SpannedItem, Tag, TaggedItem, Text}; -pub(crate) use nu_stream::ToInputStream; -pub(crate) use nu_stream::{InputStream, Interruptible, OutputStream}; +#[allow(unused_imports)] +pub(crate) use nu_protocol::outln; +pub(crate) use nu_stream::OutputStream; +#[allow(unused_imports)] pub(crate) use nu_value_ext::ValueExt; -pub(crate) use num_bigint::BigInt; -pub(crate) use num_traits::cast::ToPrimitive; -pub(crate) use serde::Deserialize; -pub(crate) use std::collections::VecDeque; -pub(crate) use std::future::Future; -pub(crate) use std::sync::atomic::{AtomicBool, Ordering}; -pub(crate) use std::sync::Arc; +#[allow(unused_imports)] +pub(crate) use std::sync::atomic::Ordering; pub trait FromInputStream { fn from_input_stream(self) -> OutputStream; diff --git a/crates/nu-command/Cargo.toml b/crates/nu-command/Cargo.toml new file mode 100644 index 00000000..9734bccc --- /dev/null +++ b/crates/nu-command/Cargo.toml @@ -0,0 +1,134 @@ +[package] +authors = ["The Nu Project Contributors"] +build = "build.rs" +description = "CLI for nushell" +edition = "2018" +license = "MIT" +name = "nu-command" +version = "0.25.2" + +[lib] +doctest = false + +[dependencies] +nu-data = {version = "0.25.2", path = "../nu-data"} +nu-engine = {version = "0.25.2", path = "../nu-engine"} +nu-errors = {version = "0.25.2", path = "../nu-errors"} +nu-json = {version = "0.25.2", path = "../nu-json"} +nu-parser = {version = "0.25.2", path = "../nu-parser"} +nu-plugin = {version = "0.25.2", path = "../nu-plugin"} +nu-protocol = {version = "0.25.2", path = "../nu-protocol"} +nu-source = {version = "0.25.2", path = "../nu-source"} +nu-stream = {version = "0.25.2", path = "../nu-stream"} +nu-table = {version = "0.25.2", path = "../nu-table"} +nu-test-support = {version = "0.25.2", path = "../nu-test-support"} +nu-value-ext = {version = "0.25.2", path = "../nu-value-ext"} + +Inflector = "0.11" +ansi_term = "0.12.1" +arboard = {version = "1.1.0", optional = true} +async-recursion = "0.3.1" +async-trait = "0.1.40" +base64 = "0.13.0" +bigdecimal = {version = "0.2.0", features = ["serde"]} +byte-unit = "4.0.9" +bytes = "0.5.6" +calamine = "0.16.1" +chrono = {version = "0.4.15", features = ["serde"]} +chrono-tz = "0.5.3" +clap = "2.33.3" +codespan-reporting = "0.11.0" +csv = "1.1.3" +ctrlc = {version = "3.1.6", optional = true} +derive-new = "0.5.8" +directories = {version = "3.0.1", optional = true} +dirs = {version = "3.0.1", optional = true} +dtparse = "1.2.0" +dunce = "1.0.1" +eml-parser = "0.1.0" +encoding_rs = "0.8.24" +filesize = "0.2.0" +fs_extra = "1.2.0" +futures = {version = "0.3.5", features = ["compat", "io-compat"]} +futures-util = "0.3.8" +futures_codec = "0.4.1" +getset = "0.1.1" +git2 = {version = "0.13.11", default_features = false, optional = true} +glob = "0.3.0" +heim = {version = "0.1.0-rc.1", optional = true} +htmlescape = "0.3.1" +ical = "0.7.0" +ichwh = {version = "0.3.4", optional = true} +indexmap = {version = "1.6.0", features = ["serde-1"]} +itertools = "0.10.0" +lazy_static = "1.*" +log = "0.4.11" +meval = "0.2.0" +num-bigint = {version = "0.3.0", features = ["serde"]} +num-format = {version = "0.4.0", features = ["with-num-bigint"]} +num-traits = "0.2.12" +parking_lot = "0.11.0" +pin-utils = "0.1.0" +pretty-hex = "0.2.0" +ptree = {version = "0.3.0", optional = true} +query_interface = "0.3.5" +quick-xml = "0.20.0" +rand = "0.7.3" +rayon = "1.4.0" +regex = "1.3.9" +roxmltree = "0.14.0" +rust-embed = "5.8.0" +rustyline = {version = "6.3.0", optional = true} +serde = {version = "1.0.115", features = ["derive"]} +serde_bytes = "0.11.5" +serde_ini = "0.2.0" +serde_json = "1.0.57" +serde_urlencoded = "0.7.0" +serde_yaml = "0.8.13" +sha2 = "0.9.1" +shellexpand = "2.0.0" +strip-ansi-escapes = "0.1.0" +sxd-document = "0.3.2" +sxd-xpath = "0.4.2" +tempfile = "3.1.0" +term = {version = "0.6.1", optional = true} +term_size = "0.3.2" +termcolor = "1.1.0" +titlecase = "1.0" +toml = "0.5.6" +trash = {version = "1.2.0", optional = true} +unicode-segmentation = "1.6.0" +uom = {version = "0.30.0", features = ["f64", "try-from"]} +url = "2.1.1" +uuid_crate = {package = "uuid", version = "0.8.1", features = ["v4"], optional = true} +which = {version = "4.0.2", optional = true} +zip = {version = "0.5.7", optional = true} + +[target.'cfg(unix)'.dependencies] +umask = "1.0.0" +users = "0.10.0" + +# TODO this will be possible with new dependency resolver +# (currently on nightly behind -Zfeatures=itarget): +# https://github.com/rust-lang/cargo/issues/7914 +#[target.'cfg(not(windows))'.dependencies] +#num-format = {version = "0.4", features = ["with-system-locale"]} + +[dependencies.rusqlite] +features = ["bundled", "blob"] +optional = true +version = "0.24.2" + +[build-dependencies] +shadow-rs = "0.5" + +[dev-dependencies] +quickcheck = "0.9.2" +quickcheck_macros = "0.9.1" + +[features] +clipboard-cli = ["arboard"] +rich-benchmark = ["heim"] +rustyline-support = ["rustyline"] +stable = [] +trash-support = ["trash"] diff --git a/crates/nu-command/assets/228_themes.zip b/crates/nu-command/assets/228_themes.zip new file mode 100644 index 00000000..eca629d5 Binary files /dev/null and b/crates/nu-command/assets/228_themes.zip differ diff --git a/crates/nu-command/build.rs b/crates/nu-command/build.rs new file mode 100644 index 00000000..4a0dfc45 --- /dev/null +++ b/crates/nu-command/build.rs @@ -0,0 +1,3 @@ +fn main() -> shadow_rs::SdResult<()> { + shadow_rs::new() +} diff --git a/crates/nu-cli/src/commands.rs b/crates/nu-command/src/commands.rs similarity index 99% rename from crates/nu-cli/src/commands.rs rename to crates/nu-command/src/commands.rs index 03f7fe98..60ec47f8 100644 --- a/crates/nu-cli/src/commands.rs +++ b/crates/nu-command/src/commands.rs @@ -7,7 +7,7 @@ mod to_delimited_data; pub(crate) mod ansi; pub(crate) mod append; pub(crate) mod args; -pub(crate) mod autoenv; +pub mod autoenv; pub(crate) mod autoenv_trust; pub(crate) mod autoenv_untrust; pub(crate) mod autoview; @@ -20,7 +20,7 @@ pub(crate) mod chart; pub(crate) mod classified; #[cfg(feature = "clipboard-cli")] pub(crate) mod clip; -pub(crate) mod command; +pub mod command; pub(crate) mod compact; pub(crate) mod config; pub(crate) mod constants; @@ -30,7 +30,7 @@ pub(crate) mod date; pub(crate) mod debug; pub(crate) mod def; pub(crate) mod default; -pub(crate) mod default_context; +pub mod default_context; pub(crate) mod describe; pub(crate) mod do_; pub(crate) mod drop; diff --git a/crates/nu-cli/src/commands/ansi.rs b/crates/nu-command/src/commands/ansi.rs similarity index 100% rename from crates/nu-cli/src/commands/ansi.rs rename to crates/nu-command/src/commands/ansi.rs diff --git a/crates/nu-cli/src/commands/append.rs b/crates/nu-command/src/commands/append.rs similarity index 100% rename from crates/nu-cli/src/commands/append.rs rename to crates/nu-command/src/commands/append.rs diff --git a/crates/nu-cli/src/commands/args.rs b/crates/nu-command/src/commands/args.rs similarity index 100% rename from crates/nu-cli/src/commands/args.rs rename to crates/nu-command/src/commands/args.rs diff --git a/crates/nu-cli/src/commands/autoenv.rs b/crates/nu-command/src/commands/autoenv.rs similarity index 100% rename from crates/nu-cli/src/commands/autoenv.rs rename to crates/nu-command/src/commands/autoenv.rs diff --git a/crates/nu-cli/src/commands/autoenv_trust.rs b/crates/nu-command/src/commands/autoenv_trust.rs similarity index 100% rename from crates/nu-cli/src/commands/autoenv_trust.rs rename to crates/nu-command/src/commands/autoenv_trust.rs diff --git a/crates/nu-cli/src/commands/autoenv_untrust.rs b/crates/nu-command/src/commands/autoenv_untrust.rs similarity index 100% rename from crates/nu-cli/src/commands/autoenv_untrust.rs rename to crates/nu-command/src/commands/autoenv_untrust.rs diff --git a/crates/nu-cli/src/commands/autoview/command.rs b/crates/nu-command/src/commands/autoview/command.rs similarity index 100% rename from crates/nu-cli/src/commands/autoview/command.rs rename to crates/nu-command/src/commands/autoview/command.rs diff --git a/crates/nu-cli/src/commands/autoview/mod.rs b/crates/nu-command/src/commands/autoview/mod.rs similarity index 100% rename from crates/nu-cli/src/commands/autoview/mod.rs rename to crates/nu-command/src/commands/autoview/mod.rs diff --git a/crates/nu-cli/src/commands/autoview/options.rs b/crates/nu-command/src/commands/autoview/options.rs similarity index 100% rename from crates/nu-cli/src/commands/autoview/options.rs rename to crates/nu-command/src/commands/autoview/options.rs diff --git a/crates/nu-cli/src/commands/benchmark.rs b/crates/nu-command/src/commands/benchmark.rs similarity index 100% rename from crates/nu-cli/src/commands/benchmark.rs rename to crates/nu-command/src/commands/benchmark.rs diff --git a/crates/nu-cli/src/commands/build_string.rs b/crates/nu-command/src/commands/build_string.rs similarity index 100% rename from crates/nu-cli/src/commands/build_string.rs rename to crates/nu-command/src/commands/build_string.rs diff --git a/crates/nu-cli/src/commands/cal.rs b/crates/nu-command/src/commands/cal.rs similarity index 100% rename from crates/nu-cli/src/commands/cal.rs rename to crates/nu-command/src/commands/cal.rs diff --git a/crates/nu-cli/src/commands/cd.rs b/crates/nu-command/src/commands/cd.rs similarity index 100% rename from crates/nu-cli/src/commands/cd.rs rename to crates/nu-command/src/commands/cd.rs diff --git a/crates/nu-cli/src/commands/char_.rs b/crates/nu-command/src/commands/char_.rs similarity index 100% rename from crates/nu-cli/src/commands/char_.rs rename to crates/nu-command/src/commands/char_.rs diff --git a/crates/nu-cli/src/commands/chart.rs b/crates/nu-command/src/commands/chart.rs similarity index 100% rename from crates/nu-cli/src/commands/chart.rs rename to crates/nu-command/src/commands/chart.rs diff --git a/crates/nu-cli/src/commands/classified/dynamic.rs b/crates/nu-command/src/commands/classified/dynamic.rs similarity index 100% rename from crates/nu-cli/src/commands/classified/dynamic.rs rename to crates/nu-command/src/commands/classified/dynamic.rs diff --git a/crates/nu-cli/src/commands/classified/external.rs b/crates/nu-command/src/commands/classified/external.rs similarity index 100% rename from crates/nu-cli/src/commands/classified/external.rs rename to crates/nu-command/src/commands/classified/external.rs diff --git a/crates/nu-cli/src/commands/classified/mod.rs b/crates/nu-command/src/commands/classified/mod.rs similarity index 100% rename from crates/nu-cli/src/commands/classified/mod.rs rename to crates/nu-command/src/commands/classified/mod.rs diff --git a/crates/nu-cli/src/commands/clear.rs b/crates/nu-command/src/commands/clear.rs similarity index 100% rename from crates/nu-cli/src/commands/clear.rs rename to crates/nu-command/src/commands/clear.rs diff --git a/crates/nu-cli/src/commands/clip.rs b/crates/nu-command/src/commands/clip.rs similarity index 100% rename from crates/nu-cli/src/commands/clip.rs rename to crates/nu-command/src/commands/clip.rs diff --git a/crates/nu-cli/src/commands/command.rs b/crates/nu-command/src/commands/command.rs similarity index 100% rename from crates/nu-cli/src/commands/command.rs rename to crates/nu-command/src/commands/command.rs diff --git a/crates/nu-cli/src/commands/compact.rs b/crates/nu-command/src/commands/compact.rs similarity index 100% rename from crates/nu-cli/src/commands/compact.rs rename to crates/nu-command/src/commands/compact.rs diff --git a/crates/nu-cli/src/commands/config/clear.rs b/crates/nu-command/src/commands/config/clear.rs similarity index 100% rename from crates/nu-cli/src/commands/config/clear.rs rename to crates/nu-command/src/commands/config/clear.rs diff --git a/crates/nu-cli/src/commands/config/command.rs b/crates/nu-command/src/commands/config/command.rs similarity index 100% rename from crates/nu-cli/src/commands/config/command.rs rename to crates/nu-command/src/commands/config/command.rs diff --git a/crates/nu-cli/src/commands/config/get.rs b/crates/nu-command/src/commands/config/get.rs similarity index 100% rename from crates/nu-cli/src/commands/config/get.rs rename to crates/nu-command/src/commands/config/get.rs diff --git a/crates/nu-cli/src/commands/config/load.rs b/crates/nu-command/src/commands/config/load.rs similarity index 100% rename from crates/nu-cli/src/commands/config/load.rs rename to crates/nu-command/src/commands/config/load.rs diff --git a/crates/nu-cli/src/commands/config/mod.rs b/crates/nu-command/src/commands/config/mod.rs similarity index 100% rename from crates/nu-cli/src/commands/config/mod.rs rename to crates/nu-command/src/commands/config/mod.rs diff --git a/crates/nu-cli/src/commands/config/path.rs b/crates/nu-command/src/commands/config/path.rs similarity index 100% rename from crates/nu-cli/src/commands/config/path.rs rename to crates/nu-command/src/commands/config/path.rs diff --git a/crates/nu-cli/src/commands/config/remove.rs b/crates/nu-command/src/commands/config/remove.rs similarity index 100% rename from crates/nu-cli/src/commands/config/remove.rs rename to crates/nu-command/src/commands/config/remove.rs diff --git a/crates/nu-cli/src/commands/config/set.rs b/crates/nu-command/src/commands/config/set.rs similarity index 100% rename from crates/nu-cli/src/commands/config/set.rs rename to crates/nu-command/src/commands/config/set.rs diff --git a/crates/nu-cli/src/commands/config/set_into.rs b/crates/nu-command/src/commands/config/set_into.rs similarity index 100% rename from crates/nu-cli/src/commands/config/set_into.rs rename to crates/nu-command/src/commands/config/set_into.rs diff --git a/crates/nu-cli/src/commands/constants.rs b/crates/nu-command/src/commands/constants.rs similarity index 100% rename from crates/nu-cli/src/commands/constants.rs rename to crates/nu-command/src/commands/constants.rs diff --git a/crates/nu-cli/src/commands/count.rs b/crates/nu-command/src/commands/count.rs similarity index 100% rename from crates/nu-cli/src/commands/count.rs rename to crates/nu-command/src/commands/count.rs diff --git a/crates/nu-cli/src/commands/cp.rs b/crates/nu-command/src/commands/cp.rs similarity index 100% rename from crates/nu-cli/src/commands/cp.rs rename to crates/nu-command/src/commands/cp.rs diff --git a/crates/nu-cli/src/commands/date/command.rs b/crates/nu-command/src/commands/date/command.rs similarity index 100% rename from crates/nu-cli/src/commands/date/command.rs rename to crates/nu-command/src/commands/date/command.rs diff --git a/crates/nu-cli/src/commands/date/format.rs b/crates/nu-command/src/commands/date/format.rs similarity index 100% rename from crates/nu-cli/src/commands/date/format.rs rename to crates/nu-command/src/commands/date/format.rs diff --git a/crates/nu-cli/src/commands/date/list_timezone.rs b/crates/nu-command/src/commands/date/list_timezone.rs similarity index 100% rename from crates/nu-cli/src/commands/date/list_timezone.rs rename to crates/nu-command/src/commands/date/list_timezone.rs diff --git a/crates/nu-cli/src/commands/date/mod.rs b/crates/nu-command/src/commands/date/mod.rs similarity index 100% rename from crates/nu-cli/src/commands/date/mod.rs rename to crates/nu-command/src/commands/date/mod.rs diff --git a/crates/nu-cli/src/commands/date/now.rs b/crates/nu-command/src/commands/date/now.rs similarity index 100% rename from crates/nu-cli/src/commands/date/now.rs rename to crates/nu-command/src/commands/date/now.rs diff --git a/crates/nu-cli/src/commands/date/parser.rs b/crates/nu-command/src/commands/date/parser.rs similarity index 100% rename from crates/nu-cli/src/commands/date/parser.rs rename to crates/nu-command/src/commands/date/parser.rs diff --git a/crates/nu-cli/src/commands/date/to_table.rs b/crates/nu-command/src/commands/date/to_table.rs similarity index 100% rename from crates/nu-cli/src/commands/date/to_table.rs rename to crates/nu-command/src/commands/date/to_table.rs diff --git a/crates/nu-cli/src/commands/date/to_timezone.rs b/crates/nu-command/src/commands/date/to_timezone.rs similarity index 100% rename from crates/nu-cli/src/commands/date/to_timezone.rs rename to crates/nu-command/src/commands/date/to_timezone.rs diff --git a/crates/nu-cli/src/commands/date/utc.rs b/crates/nu-command/src/commands/date/utc.rs similarity index 100% rename from crates/nu-cli/src/commands/date/utc.rs rename to crates/nu-command/src/commands/date/utc.rs diff --git a/crates/nu-cli/src/commands/debug.rs b/crates/nu-command/src/commands/debug.rs similarity index 100% rename from crates/nu-cli/src/commands/debug.rs rename to crates/nu-command/src/commands/debug.rs diff --git a/crates/nu-cli/src/commands/def.rs b/crates/nu-command/src/commands/def.rs similarity index 100% rename from crates/nu-cli/src/commands/def.rs rename to crates/nu-command/src/commands/def.rs diff --git a/crates/nu-cli/src/commands/default.rs b/crates/nu-command/src/commands/default.rs similarity index 100% rename from crates/nu-cli/src/commands/default.rs rename to crates/nu-command/src/commands/default.rs diff --git a/crates/nu-cli/src/commands/default_context.rs b/crates/nu-command/src/commands/default_context.rs similarity index 100% rename from crates/nu-cli/src/commands/default_context.rs rename to crates/nu-command/src/commands/default_context.rs diff --git a/crates/nu-cli/src/commands/describe.rs b/crates/nu-command/src/commands/describe.rs similarity index 100% rename from crates/nu-cli/src/commands/describe.rs rename to crates/nu-command/src/commands/describe.rs diff --git a/crates/nu-cli/src/commands/do_.rs b/crates/nu-command/src/commands/do_.rs similarity index 100% rename from crates/nu-cli/src/commands/do_.rs rename to crates/nu-command/src/commands/do_.rs diff --git a/crates/nu-cli/src/commands/drop.rs b/crates/nu-command/src/commands/drop.rs similarity index 100% rename from crates/nu-cli/src/commands/drop.rs rename to crates/nu-command/src/commands/drop.rs diff --git a/crates/nu-cli/src/commands/du.rs b/crates/nu-command/src/commands/du.rs similarity index 100% rename from crates/nu-cli/src/commands/du.rs rename to crates/nu-command/src/commands/du.rs diff --git a/crates/nu-cli/src/commands/each/command.rs b/crates/nu-command/src/commands/each/command.rs similarity index 100% rename from crates/nu-cli/src/commands/each/command.rs rename to crates/nu-command/src/commands/each/command.rs diff --git a/crates/nu-cli/src/commands/each/group.rs b/crates/nu-command/src/commands/each/group.rs similarity index 100% rename from crates/nu-cli/src/commands/each/group.rs rename to crates/nu-command/src/commands/each/group.rs diff --git a/crates/nu-cli/src/commands/each/mod.rs b/crates/nu-command/src/commands/each/mod.rs similarity index 100% rename from crates/nu-cli/src/commands/each/mod.rs rename to crates/nu-command/src/commands/each/mod.rs diff --git a/crates/nu-cli/src/commands/each/window.rs b/crates/nu-command/src/commands/each/window.rs similarity index 100% rename from crates/nu-cli/src/commands/each/window.rs rename to crates/nu-command/src/commands/each/window.rs diff --git a/crates/nu-cli/src/commands/echo.rs b/crates/nu-command/src/commands/echo.rs similarity index 100% rename from crates/nu-cli/src/commands/echo.rs rename to crates/nu-command/src/commands/echo.rs diff --git a/crates/nu-cli/src/commands/empty.rs b/crates/nu-command/src/commands/empty.rs similarity index 100% rename from crates/nu-cli/src/commands/empty.rs rename to crates/nu-command/src/commands/empty.rs diff --git a/crates/nu-cli/src/commands/enter.rs b/crates/nu-command/src/commands/enter.rs similarity index 100% rename from crates/nu-cli/src/commands/enter.rs rename to crates/nu-command/src/commands/enter.rs diff --git a/crates/nu-cli/src/commands/every.rs b/crates/nu-command/src/commands/every.rs similarity index 100% rename from crates/nu-cli/src/commands/every.rs rename to crates/nu-command/src/commands/every.rs diff --git a/crates/nu-cli/src/commands/exec.rs b/crates/nu-command/src/commands/exec.rs similarity index 100% rename from crates/nu-cli/src/commands/exec.rs rename to crates/nu-command/src/commands/exec.rs diff --git a/crates/nu-cli/src/commands/exit.rs b/crates/nu-command/src/commands/exit.rs similarity index 100% rename from crates/nu-cli/src/commands/exit.rs rename to crates/nu-command/src/commands/exit.rs diff --git a/crates/nu-cli/src/commands/first.rs b/crates/nu-command/src/commands/first.rs similarity index 100% rename from crates/nu-cli/src/commands/first.rs rename to crates/nu-command/src/commands/first.rs diff --git a/crates/nu-cli/src/commands/flatten.rs b/crates/nu-command/src/commands/flatten.rs similarity index 100% rename from crates/nu-cli/src/commands/flatten.rs rename to crates/nu-command/src/commands/flatten.rs diff --git a/crates/nu-cli/src/commands/format/command.rs b/crates/nu-command/src/commands/format/command.rs similarity index 100% rename from crates/nu-cli/src/commands/format/command.rs rename to crates/nu-command/src/commands/format/command.rs diff --git a/crates/nu-cli/src/commands/format/format_filesize.rs b/crates/nu-command/src/commands/format/format_filesize.rs similarity index 100% rename from crates/nu-cli/src/commands/format/format_filesize.rs rename to crates/nu-command/src/commands/format/format_filesize.rs diff --git a/crates/nu-cli/src/commands/format/mod.rs b/crates/nu-command/src/commands/format/mod.rs similarity index 100% rename from crates/nu-cli/src/commands/format/mod.rs rename to crates/nu-command/src/commands/format/mod.rs diff --git a/crates/nu-cli/src/commands/from.rs b/crates/nu-command/src/commands/from.rs similarity index 100% rename from crates/nu-cli/src/commands/from.rs rename to crates/nu-command/src/commands/from.rs diff --git a/crates/nu-cli/src/commands/from_csv.rs b/crates/nu-command/src/commands/from_csv.rs similarity index 100% rename from crates/nu-cli/src/commands/from_csv.rs rename to crates/nu-command/src/commands/from_csv.rs diff --git a/crates/nu-cli/src/commands/from_delimited_data.rs b/crates/nu-command/src/commands/from_delimited_data.rs similarity index 100% rename from crates/nu-cli/src/commands/from_delimited_data.rs rename to crates/nu-command/src/commands/from_delimited_data.rs diff --git a/crates/nu-cli/src/commands/from_eml.rs b/crates/nu-command/src/commands/from_eml.rs similarity index 100% rename from crates/nu-cli/src/commands/from_eml.rs rename to crates/nu-command/src/commands/from_eml.rs diff --git a/crates/nu-cli/src/commands/from_ics.rs b/crates/nu-command/src/commands/from_ics.rs similarity index 100% rename from crates/nu-cli/src/commands/from_ics.rs rename to crates/nu-command/src/commands/from_ics.rs diff --git a/crates/nu-cli/src/commands/from_ini.rs b/crates/nu-command/src/commands/from_ini.rs similarity index 100% rename from crates/nu-cli/src/commands/from_ini.rs rename to crates/nu-command/src/commands/from_ini.rs diff --git a/crates/nu-cli/src/commands/from_json.rs b/crates/nu-command/src/commands/from_json.rs similarity index 100% rename from crates/nu-cli/src/commands/from_json.rs rename to crates/nu-command/src/commands/from_json.rs diff --git a/crates/nu-cli/src/commands/from_ods.rs b/crates/nu-command/src/commands/from_ods.rs similarity index 100% rename from crates/nu-cli/src/commands/from_ods.rs rename to crates/nu-command/src/commands/from_ods.rs diff --git a/crates/nu-cli/src/commands/from_ssv.rs b/crates/nu-command/src/commands/from_ssv.rs similarity index 100% rename from crates/nu-cli/src/commands/from_ssv.rs rename to crates/nu-command/src/commands/from_ssv.rs diff --git a/crates/nu-cli/src/commands/from_toml.rs b/crates/nu-command/src/commands/from_toml.rs similarity index 100% rename from crates/nu-cli/src/commands/from_toml.rs rename to crates/nu-command/src/commands/from_toml.rs diff --git a/crates/nu-cli/src/commands/from_tsv.rs b/crates/nu-command/src/commands/from_tsv.rs similarity index 100% rename from crates/nu-cli/src/commands/from_tsv.rs rename to crates/nu-command/src/commands/from_tsv.rs diff --git a/crates/nu-cli/src/commands/from_url.rs b/crates/nu-command/src/commands/from_url.rs similarity index 100% rename from crates/nu-cli/src/commands/from_url.rs rename to crates/nu-command/src/commands/from_url.rs diff --git a/crates/nu-cli/src/commands/from_vcf.rs b/crates/nu-command/src/commands/from_vcf.rs similarity index 100% rename from crates/nu-cli/src/commands/from_vcf.rs rename to crates/nu-command/src/commands/from_vcf.rs diff --git a/crates/nu-cli/src/commands/from_xlsx.rs b/crates/nu-command/src/commands/from_xlsx.rs similarity index 100% rename from crates/nu-cli/src/commands/from_xlsx.rs rename to crates/nu-command/src/commands/from_xlsx.rs diff --git a/crates/nu-cli/src/commands/from_xml.rs b/crates/nu-command/src/commands/from_xml.rs similarity index 100% rename from crates/nu-cli/src/commands/from_xml.rs rename to crates/nu-command/src/commands/from_xml.rs diff --git a/crates/nu-cli/src/commands/from_yaml.rs b/crates/nu-command/src/commands/from_yaml.rs similarity index 100% rename from crates/nu-cli/src/commands/from_yaml.rs rename to crates/nu-command/src/commands/from_yaml.rs diff --git a/crates/nu-cli/src/commands/get.rs b/crates/nu-command/src/commands/get.rs similarity index 100% rename from crates/nu-cli/src/commands/get.rs rename to crates/nu-command/src/commands/get.rs diff --git a/crates/nu-cli/src/commands/group_by.rs b/crates/nu-command/src/commands/group_by.rs similarity index 100% rename from crates/nu-cli/src/commands/group_by.rs rename to crates/nu-command/src/commands/group_by.rs diff --git a/crates/nu-cli/src/commands/group_by_date.rs b/crates/nu-command/src/commands/group_by_date.rs similarity index 100% rename from crates/nu-cli/src/commands/group_by_date.rs rename to crates/nu-command/src/commands/group_by_date.rs diff --git a/crates/nu-cli/src/commands/hash_/base64_.rs b/crates/nu-command/src/commands/hash_/base64_.rs similarity index 100% rename from crates/nu-cli/src/commands/hash_/base64_.rs rename to crates/nu-command/src/commands/hash_/base64_.rs diff --git a/crates/nu-cli/src/commands/hash_/command.rs b/crates/nu-command/src/commands/hash_/command.rs similarity index 100% rename from crates/nu-cli/src/commands/hash_/command.rs rename to crates/nu-command/src/commands/hash_/command.rs diff --git a/crates/nu-cli/src/commands/hash_/mod.rs b/crates/nu-command/src/commands/hash_/mod.rs similarity index 100% rename from crates/nu-cli/src/commands/hash_/mod.rs rename to crates/nu-command/src/commands/hash_/mod.rs diff --git a/crates/nu-cli/src/commands/headers.rs b/crates/nu-command/src/commands/headers.rs similarity index 100% rename from crates/nu-cli/src/commands/headers.rs rename to crates/nu-command/src/commands/headers.rs diff --git a/crates/nu-cli/src/commands/help.rs b/crates/nu-command/src/commands/help.rs similarity index 100% rename from crates/nu-cli/src/commands/help.rs rename to crates/nu-command/src/commands/help.rs diff --git a/crates/nu-cli/src/commands/histogram.rs b/crates/nu-command/src/commands/histogram.rs similarity index 100% rename from crates/nu-cli/src/commands/histogram.rs rename to crates/nu-command/src/commands/histogram.rs diff --git a/crates/nu-cli/src/commands/history.rs b/crates/nu-command/src/commands/history.rs similarity index 100% rename from crates/nu-cli/src/commands/history.rs rename to crates/nu-command/src/commands/history.rs diff --git a/crates/nu-cli/src/commands/if_.rs b/crates/nu-command/src/commands/if_.rs similarity index 100% rename from crates/nu-cli/src/commands/if_.rs rename to crates/nu-command/src/commands/if_.rs diff --git a/crates/nu-cli/src/commands/insert.rs b/crates/nu-command/src/commands/insert.rs similarity index 100% rename from crates/nu-cli/src/commands/insert.rs rename to crates/nu-command/src/commands/insert.rs diff --git a/crates/nu-cli/src/commands/into_int.rs b/crates/nu-command/src/commands/into_int.rs similarity index 100% rename from crates/nu-cli/src/commands/into_int.rs rename to crates/nu-command/src/commands/into_int.rs diff --git a/crates/nu-cli/src/commands/keep/command.rs b/crates/nu-command/src/commands/keep/command.rs similarity index 100% rename from crates/nu-cli/src/commands/keep/command.rs rename to crates/nu-command/src/commands/keep/command.rs diff --git a/crates/nu-cli/src/commands/keep/mod.rs b/crates/nu-command/src/commands/keep/mod.rs similarity index 100% rename from crates/nu-cli/src/commands/keep/mod.rs rename to crates/nu-command/src/commands/keep/mod.rs diff --git a/crates/nu-cli/src/commands/keep/until.rs b/crates/nu-command/src/commands/keep/until.rs similarity index 100% rename from crates/nu-cli/src/commands/keep/until.rs rename to crates/nu-command/src/commands/keep/until.rs diff --git a/crates/nu-cli/src/commands/keep/while_.rs b/crates/nu-command/src/commands/keep/while_.rs similarity index 100% rename from crates/nu-cli/src/commands/keep/while_.rs rename to crates/nu-command/src/commands/keep/while_.rs diff --git a/crates/nu-cli/src/commands/kill.rs b/crates/nu-command/src/commands/kill.rs similarity index 100% rename from crates/nu-cli/src/commands/kill.rs rename to crates/nu-command/src/commands/kill.rs diff --git a/crates/nu-cli/src/commands/last.rs b/crates/nu-command/src/commands/last.rs similarity index 100% rename from crates/nu-cli/src/commands/last.rs rename to crates/nu-command/src/commands/last.rs diff --git a/crates/nu-cli/src/commands/let_.rs b/crates/nu-command/src/commands/let_.rs similarity index 100% rename from crates/nu-cli/src/commands/let_.rs rename to crates/nu-command/src/commands/let_.rs diff --git a/crates/nu-cli/src/commands/let_env.rs b/crates/nu-command/src/commands/let_env.rs similarity index 100% rename from crates/nu-cli/src/commands/let_env.rs rename to crates/nu-command/src/commands/let_env.rs diff --git a/crates/nu-cli/src/commands/lines.rs b/crates/nu-command/src/commands/lines.rs similarity index 100% rename from crates/nu-cli/src/commands/lines.rs rename to crates/nu-command/src/commands/lines.rs diff --git a/crates/nu-cli/src/commands/ls.rs b/crates/nu-command/src/commands/ls.rs similarity index 100% rename from crates/nu-cli/src/commands/ls.rs rename to crates/nu-command/src/commands/ls.rs diff --git a/crates/nu-cli/src/commands/macros.rs b/crates/nu-command/src/commands/macros.rs similarity index 100% rename from crates/nu-cli/src/commands/macros.rs rename to crates/nu-command/src/commands/macros.rs diff --git a/crates/nu-cli/src/commands/math/abs.rs b/crates/nu-command/src/commands/math/abs.rs similarity index 100% rename from crates/nu-cli/src/commands/math/abs.rs rename to crates/nu-command/src/commands/math/abs.rs diff --git a/crates/nu-cli/src/commands/math/avg.rs b/crates/nu-command/src/commands/math/avg.rs similarity index 100% rename from crates/nu-cli/src/commands/math/avg.rs rename to crates/nu-command/src/commands/math/avg.rs diff --git a/crates/nu-cli/src/commands/math/ceil.rs b/crates/nu-command/src/commands/math/ceil.rs similarity index 100% rename from crates/nu-cli/src/commands/math/ceil.rs rename to crates/nu-command/src/commands/math/ceil.rs diff --git a/crates/nu-cli/src/commands/math/command.rs b/crates/nu-command/src/commands/math/command.rs similarity index 100% rename from crates/nu-cli/src/commands/math/command.rs rename to crates/nu-command/src/commands/math/command.rs diff --git a/crates/nu-cli/src/commands/math/eval.rs b/crates/nu-command/src/commands/math/eval.rs similarity index 100% rename from crates/nu-cli/src/commands/math/eval.rs rename to crates/nu-command/src/commands/math/eval.rs diff --git a/crates/nu-cli/src/commands/math/floor.rs b/crates/nu-command/src/commands/math/floor.rs similarity index 100% rename from crates/nu-cli/src/commands/math/floor.rs rename to crates/nu-command/src/commands/math/floor.rs diff --git a/crates/nu-cli/src/commands/math/max.rs b/crates/nu-command/src/commands/math/max.rs similarity index 100% rename from crates/nu-cli/src/commands/math/max.rs rename to crates/nu-command/src/commands/math/max.rs diff --git a/crates/nu-cli/src/commands/math/median.rs b/crates/nu-command/src/commands/math/median.rs similarity index 100% rename from crates/nu-cli/src/commands/math/median.rs rename to crates/nu-command/src/commands/math/median.rs diff --git a/crates/nu-cli/src/commands/math/min.rs b/crates/nu-command/src/commands/math/min.rs similarity index 100% rename from crates/nu-cli/src/commands/math/min.rs rename to crates/nu-command/src/commands/math/min.rs diff --git a/crates/nu-cli/src/commands/math/mod.rs b/crates/nu-command/src/commands/math/mod.rs similarity index 100% rename from crates/nu-cli/src/commands/math/mod.rs rename to crates/nu-command/src/commands/math/mod.rs diff --git a/crates/nu-cli/src/commands/math/mode.rs b/crates/nu-command/src/commands/math/mode.rs similarity index 100% rename from crates/nu-cli/src/commands/math/mode.rs rename to crates/nu-command/src/commands/math/mode.rs diff --git a/crates/nu-cli/src/commands/math/product.rs b/crates/nu-command/src/commands/math/product.rs similarity index 100% rename from crates/nu-cli/src/commands/math/product.rs rename to crates/nu-command/src/commands/math/product.rs diff --git a/crates/nu-cli/src/commands/math/reducers.rs b/crates/nu-command/src/commands/math/reducers.rs similarity index 100% rename from crates/nu-cli/src/commands/math/reducers.rs rename to crates/nu-command/src/commands/math/reducers.rs diff --git a/crates/nu-cli/src/commands/math/round.rs b/crates/nu-command/src/commands/math/round.rs similarity index 100% rename from crates/nu-cli/src/commands/math/round.rs rename to crates/nu-command/src/commands/math/round.rs diff --git a/crates/nu-cli/src/commands/math/stddev.rs b/crates/nu-command/src/commands/math/stddev.rs similarity index 100% rename from crates/nu-cli/src/commands/math/stddev.rs rename to crates/nu-command/src/commands/math/stddev.rs diff --git a/crates/nu-cli/src/commands/math/sum.rs b/crates/nu-command/src/commands/math/sum.rs similarity index 100% rename from crates/nu-cli/src/commands/math/sum.rs rename to crates/nu-command/src/commands/math/sum.rs diff --git a/crates/nu-cli/src/commands/math/utils.rs b/crates/nu-command/src/commands/math/utils.rs similarity index 100% rename from crates/nu-cli/src/commands/math/utils.rs rename to crates/nu-command/src/commands/math/utils.rs diff --git a/crates/nu-cli/src/commands/math/variance.rs b/crates/nu-command/src/commands/math/variance.rs similarity index 100% rename from crates/nu-cli/src/commands/math/variance.rs rename to crates/nu-command/src/commands/math/variance.rs diff --git a/crates/nu-cli/src/commands/merge.rs b/crates/nu-command/src/commands/merge.rs similarity index 100% rename from crates/nu-cli/src/commands/merge.rs rename to crates/nu-command/src/commands/merge.rs diff --git a/crates/nu-cli/src/commands/mkdir.rs b/crates/nu-command/src/commands/mkdir.rs similarity index 100% rename from crates/nu-cli/src/commands/mkdir.rs rename to crates/nu-command/src/commands/mkdir.rs diff --git a/crates/nu-cli/src/commands/move_/command.rs b/crates/nu-command/src/commands/move_/command.rs similarity index 100% rename from crates/nu-cli/src/commands/move_/command.rs rename to crates/nu-command/src/commands/move_/command.rs diff --git a/crates/nu-cli/src/commands/move_/mod.rs b/crates/nu-command/src/commands/move_/mod.rs similarity index 100% rename from crates/nu-cli/src/commands/move_/mod.rs rename to crates/nu-command/src/commands/move_/mod.rs diff --git a/crates/nu-cli/src/commands/move_/mv.rs b/crates/nu-command/src/commands/move_/mv.rs similarity index 100% rename from crates/nu-cli/src/commands/move_/mv.rs rename to crates/nu-command/src/commands/move_/mv.rs diff --git a/crates/nu-cli/src/commands/next.rs b/crates/nu-command/src/commands/next.rs similarity index 100% rename from crates/nu-cli/src/commands/next.rs rename to crates/nu-command/src/commands/next.rs diff --git a/crates/nu-cli/src/commands/nth.rs b/crates/nu-command/src/commands/nth.rs similarity index 100% rename from crates/nu-cli/src/commands/nth.rs rename to crates/nu-command/src/commands/nth.rs diff --git a/crates/nu-cli/src/commands/nu/mod.rs b/crates/nu-command/src/commands/nu/mod.rs similarity index 100% rename from crates/nu-cli/src/commands/nu/mod.rs rename to crates/nu-command/src/commands/nu/mod.rs diff --git a/crates/nu-cli/src/commands/nu/plugin.rs b/crates/nu-command/src/commands/nu/plugin.rs similarity index 100% rename from crates/nu-cli/src/commands/nu/plugin.rs rename to crates/nu-command/src/commands/nu/plugin.rs diff --git a/crates/nu-cli/src/commands/open.rs b/crates/nu-command/src/commands/open.rs similarity index 100% rename from crates/nu-cli/src/commands/open.rs rename to crates/nu-command/src/commands/open.rs diff --git a/crates/nu-cli/src/commands/parse/command.rs b/crates/nu-command/src/commands/parse/command.rs similarity index 100% rename from crates/nu-cli/src/commands/parse/command.rs rename to crates/nu-command/src/commands/parse/command.rs diff --git a/crates/nu-cli/src/commands/parse/mod.rs b/crates/nu-command/src/commands/parse/mod.rs similarity index 100% rename from crates/nu-cli/src/commands/parse/mod.rs rename to crates/nu-command/src/commands/parse/mod.rs diff --git a/crates/nu-cli/src/commands/path/basename.rs b/crates/nu-command/src/commands/path/basename.rs similarity index 100% rename from crates/nu-cli/src/commands/path/basename.rs rename to crates/nu-command/src/commands/path/basename.rs diff --git a/crates/nu-cli/src/commands/path/command.rs b/crates/nu-command/src/commands/path/command.rs similarity index 100% rename from crates/nu-cli/src/commands/path/command.rs rename to crates/nu-command/src/commands/path/command.rs diff --git a/crates/nu-cli/src/commands/path/dirname.rs b/crates/nu-command/src/commands/path/dirname.rs similarity index 100% rename from crates/nu-cli/src/commands/path/dirname.rs rename to crates/nu-command/src/commands/path/dirname.rs diff --git a/crates/nu-cli/src/commands/path/exists.rs b/crates/nu-command/src/commands/path/exists.rs similarity index 100% rename from crates/nu-cli/src/commands/path/exists.rs rename to crates/nu-command/src/commands/path/exists.rs diff --git a/crates/nu-cli/src/commands/path/expand.rs b/crates/nu-command/src/commands/path/expand.rs similarity index 100% rename from crates/nu-cli/src/commands/path/expand.rs rename to crates/nu-command/src/commands/path/expand.rs diff --git a/crates/nu-cli/src/commands/path/extension.rs b/crates/nu-command/src/commands/path/extension.rs similarity index 100% rename from crates/nu-cli/src/commands/path/extension.rs rename to crates/nu-command/src/commands/path/extension.rs diff --git a/crates/nu-cli/src/commands/path/filestem.rs b/crates/nu-command/src/commands/path/filestem.rs similarity index 100% rename from crates/nu-cli/src/commands/path/filestem.rs rename to crates/nu-command/src/commands/path/filestem.rs diff --git a/crates/nu-cli/src/commands/path/mod.rs b/crates/nu-command/src/commands/path/mod.rs similarity index 100% rename from crates/nu-cli/src/commands/path/mod.rs rename to crates/nu-command/src/commands/path/mod.rs diff --git a/crates/nu-cli/src/commands/path/type.rs b/crates/nu-command/src/commands/path/type.rs similarity index 100% rename from crates/nu-cli/src/commands/path/type.rs rename to crates/nu-command/src/commands/path/type.rs diff --git a/crates/nu-cli/src/commands/pivot.rs b/crates/nu-command/src/commands/pivot.rs similarity index 100% rename from crates/nu-cli/src/commands/pivot.rs rename to crates/nu-command/src/commands/pivot.rs diff --git a/crates/nu-cli/src/commands/prepend.rs b/crates/nu-command/src/commands/prepend.rs similarity index 100% rename from crates/nu-cli/src/commands/prepend.rs rename to crates/nu-command/src/commands/prepend.rs diff --git a/crates/nu-cli/src/commands/prev.rs b/crates/nu-command/src/commands/prev.rs similarity index 100% rename from crates/nu-cli/src/commands/prev.rs rename to crates/nu-command/src/commands/prev.rs diff --git a/crates/nu-cli/src/commands/pwd.rs b/crates/nu-command/src/commands/pwd.rs similarity index 100% rename from crates/nu-cli/src/commands/pwd.rs rename to crates/nu-command/src/commands/pwd.rs diff --git a/crates/nu-cli/src/commands/random/bool.rs b/crates/nu-command/src/commands/random/bool.rs similarity index 100% rename from crates/nu-cli/src/commands/random/bool.rs rename to crates/nu-command/src/commands/random/bool.rs diff --git a/crates/nu-cli/src/commands/random/chars.rs b/crates/nu-command/src/commands/random/chars.rs similarity index 100% rename from crates/nu-cli/src/commands/random/chars.rs rename to crates/nu-command/src/commands/random/chars.rs diff --git a/crates/nu-cli/src/commands/random/command.rs b/crates/nu-command/src/commands/random/command.rs similarity index 100% rename from crates/nu-cli/src/commands/random/command.rs rename to crates/nu-command/src/commands/random/command.rs diff --git a/crates/nu-cli/src/commands/random/decimal.rs b/crates/nu-command/src/commands/random/decimal.rs similarity index 100% rename from crates/nu-cli/src/commands/random/decimal.rs rename to crates/nu-command/src/commands/random/decimal.rs diff --git a/crates/nu-cli/src/commands/random/dice.rs b/crates/nu-command/src/commands/random/dice.rs similarity index 100% rename from crates/nu-cli/src/commands/random/dice.rs rename to crates/nu-command/src/commands/random/dice.rs diff --git a/crates/nu-cli/src/commands/random/integer.rs b/crates/nu-command/src/commands/random/integer.rs similarity index 100% rename from crates/nu-cli/src/commands/random/integer.rs rename to crates/nu-command/src/commands/random/integer.rs diff --git a/crates/nu-cli/src/commands/random/mod.rs b/crates/nu-command/src/commands/random/mod.rs similarity index 100% rename from crates/nu-cli/src/commands/random/mod.rs rename to crates/nu-command/src/commands/random/mod.rs diff --git a/crates/nu-cli/src/commands/random/uuid.rs b/crates/nu-command/src/commands/random/uuid.rs similarity index 100% rename from crates/nu-cli/src/commands/random/uuid.rs rename to crates/nu-command/src/commands/random/uuid.rs diff --git a/crates/nu-cli/src/commands/range.rs b/crates/nu-command/src/commands/range.rs similarity index 100% rename from crates/nu-cli/src/commands/range.rs rename to crates/nu-command/src/commands/range.rs diff --git a/crates/nu-cli/src/commands/reduce.rs b/crates/nu-command/src/commands/reduce.rs similarity index 100% rename from crates/nu-cli/src/commands/reduce.rs rename to crates/nu-command/src/commands/reduce.rs diff --git a/crates/nu-cli/src/commands/reject.rs b/crates/nu-command/src/commands/reject.rs similarity index 100% rename from crates/nu-cli/src/commands/reject.rs rename to crates/nu-command/src/commands/reject.rs diff --git a/crates/nu-cli/src/commands/rename.rs b/crates/nu-command/src/commands/rename.rs similarity index 100% rename from crates/nu-cli/src/commands/rename.rs rename to crates/nu-command/src/commands/rename.rs diff --git a/crates/nu-cli/src/commands/reverse.rs b/crates/nu-command/src/commands/reverse.rs similarity index 100% rename from crates/nu-cli/src/commands/reverse.rs rename to crates/nu-command/src/commands/reverse.rs diff --git a/crates/nu-cli/src/commands/rm.rs b/crates/nu-command/src/commands/rm.rs similarity index 100% rename from crates/nu-cli/src/commands/rm.rs rename to crates/nu-command/src/commands/rm.rs diff --git a/crates/nu-cli/src/commands/run_external.rs b/crates/nu-command/src/commands/run_external.rs similarity index 100% rename from crates/nu-cli/src/commands/run_external.rs rename to crates/nu-command/src/commands/run_external.rs diff --git a/crates/nu-cli/src/commands/save.rs b/crates/nu-command/src/commands/save.rs similarity index 100% rename from crates/nu-cli/src/commands/save.rs rename to crates/nu-command/src/commands/save.rs diff --git a/crates/nu-cli/src/commands/select.rs b/crates/nu-command/src/commands/select.rs similarity index 100% rename from crates/nu-cli/src/commands/select.rs rename to crates/nu-command/src/commands/select.rs diff --git a/crates/nu-cli/src/commands/seq.rs b/crates/nu-command/src/commands/seq.rs similarity index 100% rename from crates/nu-cli/src/commands/seq.rs rename to crates/nu-command/src/commands/seq.rs diff --git a/crates/nu-cli/src/commands/seq_dates.rs b/crates/nu-command/src/commands/seq_dates.rs similarity index 100% rename from crates/nu-cli/src/commands/seq_dates.rs rename to crates/nu-command/src/commands/seq_dates.rs diff --git a/crates/nu-cli/src/commands/shells.rs b/crates/nu-command/src/commands/shells.rs similarity index 100% rename from crates/nu-cli/src/commands/shells.rs rename to crates/nu-command/src/commands/shells.rs diff --git a/crates/nu-cli/src/commands/shuffle.rs b/crates/nu-command/src/commands/shuffle.rs similarity index 100% rename from crates/nu-cli/src/commands/shuffle.rs rename to crates/nu-command/src/commands/shuffle.rs diff --git a/crates/nu-cli/src/commands/size.rs b/crates/nu-command/src/commands/size.rs similarity index 100% rename from crates/nu-cli/src/commands/size.rs rename to crates/nu-command/src/commands/size.rs diff --git a/crates/nu-cli/src/commands/skip/command.rs b/crates/nu-command/src/commands/skip/command.rs similarity index 100% rename from crates/nu-cli/src/commands/skip/command.rs rename to crates/nu-command/src/commands/skip/command.rs diff --git a/crates/nu-cli/src/commands/skip/mod.rs b/crates/nu-command/src/commands/skip/mod.rs similarity index 100% rename from crates/nu-cli/src/commands/skip/mod.rs rename to crates/nu-command/src/commands/skip/mod.rs diff --git a/crates/nu-cli/src/commands/skip/until.rs b/crates/nu-command/src/commands/skip/until.rs similarity index 100% rename from crates/nu-cli/src/commands/skip/until.rs rename to crates/nu-command/src/commands/skip/until.rs diff --git a/crates/nu-cli/src/commands/skip/while_.rs b/crates/nu-command/src/commands/skip/while_.rs similarity index 100% rename from crates/nu-cli/src/commands/skip/while_.rs rename to crates/nu-command/src/commands/skip/while_.rs diff --git a/crates/nu-cli/src/commands/sleep.rs b/crates/nu-command/src/commands/sleep.rs similarity index 100% rename from crates/nu-cli/src/commands/sleep.rs rename to crates/nu-command/src/commands/sleep.rs diff --git a/crates/nu-cli/src/commands/sort_by.rs b/crates/nu-command/src/commands/sort_by.rs similarity index 100% rename from crates/nu-cli/src/commands/sort_by.rs rename to crates/nu-command/src/commands/sort_by.rs diff --git a/crates/nu-cli/src/commands/source.rs b/crates/nu-command/src/commands/source.rs similarity index 100% rename from crates/nu-cli/src/commands/source.rs rename to crates/nu-command/src/commands/source.rs diff --git a/crates/nu-cli/src/commands/split/chars.rs b/crates/nu-command/src/commands/split/chars.rs similarity index 100% rename from crates/nu-cli/src/commands/split/chars.rs rename to crates/nu-command/src/commands/split/chars.rs diff --git a/crates/nu-cli/src/commands/split/column.rs b/crates/nu-command/src/commands/split/column.rs similarity index 100% rename from crates/nu-cli/src/commands/split/column.rs rename to crates/nu-command/src/commands/split/column.rs diff --git a/crates/nu-cli/src/commands/split/command.rs b/crates/nu-command/src/commands/split/command.rs similarity index 100% rename from crates/nu-cli/src/commands/split/command.rs rename to crates/nu-command/src/commands/split/command.rs diff --git a/crates/nu-cli/src/commands/split/mod.rs b/crates/nu-command/src/commands/split/mod.rs similarity index 100% rename from crates/nu-cli/src/commands/split/mod.rs rename to crates/nu-command/src/commands/split/mod.rs diff --git a/crates/nu-cli/src/commands/split/row.rs b/crates/nu-command/src/commands/split/row.rs similarity index 100% rename from crates/nu-cli/src/commands/split/row.rs rename to crates/nu-command/src/commands/split/row.rs diff --git a/crates/nu-cli/src/commands/split_by.rs b/crates/nu-command/src/commands/split_by.rs similarity index 100% rename from crates/nu-cli/src/commands/split_by.rs rename to crates/nu-command/src/commands/split_by.rs diff --git a/crates/nu-cli/src/commands/str_/capitalize.rs b/crates/nu-command/src/commands/str_/capitalize.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/capitalize.rs rename to crates/nu-command/src/commands/str_/capitalize.rs diff --git a/crates/nu-cli/src/commands/str_/case/camel_case.rs b/crates/nu-command/src/commands/str_/case/camel_case.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/case/camel_case.rs rename to crates/nu-command/src/commands/str_/case/camel_case.rs diff --git a/crates/nu-cli/src/commands/str_/case/kebab_case.rs b/crates/nu-command/src/commands/str_/case/kebab_case.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/case/kebab_case.rs rename to crates/nu-command/src/commands/str_/case/kebab_case.rs diff --git a/crates/nu-cli/src/commands/str_/case/mod.rs b/crates/nu-command/src/commands/str_/case/mod.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/case/mod.rs rename to crates/nu-command/src/commands/str_/case/mod.rs diff --git a/crates/nu-cli/src/commands/str_/case/pascal_case.rs b/crates/nu-command/src/commands/str_/case/pascal_case.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/case/pascal_case.rs rename to crates/nu-command/src/commands/str_/case/pascal_case.rs diff --git a/crates/nu-cli/src/commands/str_/case/screaming_snake_case.rs b/crates/nu-command/src/commands/str_/case/screaming_snake_case.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/case/screaming_snake_case.rs rename to crates/nu-command/src/commands/str_/case/screaming_snake_case.rs diff --git a/crates/nu-cli/src/commands/str_/case/snake_case.rs b/crates/nu-command/src/commands/str_/case/snake_case.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/case/snake_case.rs rename to crates/nu-command/src/commands/str_/case/snake_case.rs diff --git a/crates/nu-cli/src/commands/str_/collect.rs b/crates/nu-command/src/commands/str_/collect.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/collect.rs rename to crates/nu-command/src/commands/str_/collect.rs diff --git a/crates/nu-cli/src/commands/str_/command.rs b/crates/nu-command/src/commands/str_/command.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/command.rs rename to crates/nu-command/src/commands/str_/command.rs diff --git a/crates/nu-cli/src/commands/str_/contains.rs b/crates/nu-command/src/commands/str_/contains.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/contains.rs rename to crates/nu-command/src/commands/str_/contains.rs diff --git a/crates/nu-cli/src/commands/str_/downcase.rs b/crates/nu-command/src/commands/str_/downcase.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/downcase.rs rename to crates/nu-command/src/commands/str_/downcase.rs diff --git a/crates/nu-cli/src/commands/str_/ends_with.rs b/crates/nu-command/src/commands/str_/ends_with.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/ends_with.rs rename to crates/nu-command/src/commands/str_/ends_with.rs diff --git a/crates/nu-cli/src/commands/str_/find_replace.rs b/crates/nu-command/src/commands/str_/find_replace.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/find_replace.rs rename to crates/nu-command/src/commands/str_/find_replace.rs diff --git a/crates/nu-cli/src/commands/str_/from.rs b/crates/nu-command/src/commands/str_/from.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/from.rs rename to crates/nu-command/src/commands/str_/from.rs diff --git a/crates/nu-cli/src/commands/str_/index_of.rs b/crates/nu-command/src/commands/str_/index_of.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/index_of.rs rename to crates/nu-command/src/commands/str_/index_of.rs diff --git a/crates/nu-cli/src/commands/str_/length.rs b/crates/nu-command/src/commands/str_/length.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/length.rs rename to crates/nu-command/src/commands/str_/length.rs diff --git a/crates/nu-cli/src/commands/str_/lpad.rs b/crates/nu-command/src/commands/str_/lpad.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/lpad.rs rename to crates/nu-command/src/commands/str_/lpad.rs diff --git a/crates/nu-cli/src/commands/str_/mod.rs b/crates/nu-command/src/commands/str_/mod.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/mod.rs rename to crates/nu-command/src/commands/str_/mod.rs diff --git a/crates/nu-cli/src/commands/str_/reverse.rs b/crates/nu-command/src/commands/str_/reverse.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/reverse.rs rename to crates/nu-command/src/commands/str_/reverse.rs diff --git a/crates/nu-cli/src/commands/str_/rpad.rs b/crates/nu-command/src/commands/str_/rpad.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/rpad.rs rename to crates/nu-command/src/commands/str_/rpad.rs diff --git a/crates/nu-cli/src/commands/str_/set.rs b/crates/nu-command/src/commands/str_/set.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/set.rs rename to crates/nu-command/src/commands/str_/set.rs diff --git a/crates/nu-cli/src/commands/str_/starts_with.rs b/crates/nu-command/src/commands/str_/starts_with.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/starts_with.rs rename to crates/nu-command/src/commands/str_/starts_with.rs diff --git a/crates/nu-cli/src/commands/str_/substring.rs b/crates/nu-command/src/commands/str_/substring.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/substring.rs rename to crates/nu-command/src/commands/str_/substring.rs diff --git a/crates/nu-cli/src/commands/str_/to_datetime.rs b/crates/nu-command/src/commands/str_/to_datetime.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/to_datetime.rs rename to crates/nu-command/src/commands/str_/to_datetime.rs diff --git a/crates/nu-cli/src/commands/str_/to_decimal.rs b/crates/nu-command/src/commands/str_/to_decimal.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/to_decimal.rs rename to crates/nu-command/src/commands/str_/to_decimal.rs diff --git a/crates/nu-cli/src/commands/str_/to_integer.rs b/crates/nu-command/src/commands/str_/to_integer.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/to_integer.rs rename to crates/nu-command/src/commands/str_/to_integer.rs diff --git a/crates/nu-cli/src/commands/str_/trim/mod.rs b/crates/nu-command/src/commands/str_/trim/mod.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/trim/mod.rs rename to crates/nu-command/src/commands/str_/trim/mod.rs diff --git a/crates/nu-cli/src/commands/str_/trim/trim_both_ends.rs b/crates/nu-command/src/commands/str_/trim/trim_both_ends.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/trim/trim_both_ends.rs rename to crates/nu-command/src/commands/str_/trim/trim_both_ends.rs diff --git a/crates/nu-cli/src/commands/str_/trim/trim_left.rs b/crates/nu-command/src/commands/str_/trim/trim_left.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/trim/trim_left.rs rename to crates/nu-command/src/commands/str_/trim/trim_left.rs diff --git a/crates/nu-cli/src/commands/str_/trim/trim_right.rs b/crates/nu-command/src/commands/str_/trim/trim_right.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/trim/trim_right.rs rename to crates/nu-command/src/commands/str_/trim/trim_right.rs diff --git a/crates/nu-cli/src/commands/str_/upcase.rs b/crates/nu-command/src/commands/str_/upcase.rs similarity index 100% rename from crates/nu-cli/src/commands/str_/upcase.rs rename to crates/nu-command/src/commands/str_/upcase.rs diff --git a/crates/nu-cli/src/commands/table/command.rs b/crates/nu-command/src/commands/table/command.rs similarity index 100% rename from crates/nu-cli/src/commands/table/command.rs rename to crates/nu-command/src/commands/table/command.rs diff --git a/crates/nu-cli/src/commands/table/mod.rs b/crates/nu-command/src/commands/table/mod.rs similarity index 100% rename from crates/nu-cli/src/commands/table/mod.rs rename to crates/nu-command/src/commands/table/mod.rs diff --git a/crates/nu-cli/src/commands/table/options.rs b/crates/nu-command/src/commands/table/options.rs similarity index 100% rename from crates/nu-cli/src/commands/table/options.rs rename to crates/nu-command/src/commands/table/options.rs diff --git a/crates/nu-cli/src/commands/tags.rs b/crates/nu-command/src/commands/tags.rs similarity index 100% rename from crates/nu-cli/src/commands/tags.rs rename to crates/nu-command/src/commands/tags.rs diff --git a/crates/nu-cli/src/commands/to.rs b/crates/nu-command/src/commands/to.rs similarity index 100% rename from crates/nu-cli/src/commands/to.rs rename to crates/nu-command/src/commands/to.rs diff --git a/crates/nu-cli/src/commands/to_csv.rs b/crates/nu-command/src/commands/to_csv.rs similarity index 100% rename from crates/nu-cli/src/commands/to_csv.rs rename to crates/nu-command/src/commands/to_csv.rs diff --git a/crates/nu-cli/src/commands/to_delimited_data.rs b/crates/nu-command/src/commands/to_delimited_data.rs similarity index 100% rename from crates/nu-cli/src/commands/to_delimited_data.rs rename to crates/nu-command/src/commands/to_delimited_data.rs diff --git a/crates/nu-cli/src/commands/to_html.rs b/crates/nu-command/src/commands/to_html.rs similarity index 100% rename from crates/nu-cli/src/commands/to_html.rs rename to crates/nu-command/src/commands/to_html.rs diff --git a/crates/nu-cli/src/commands/to_json.rs b/crates/nu-command/src/commands/to_json.rs similarity index 100% rename from crates/nu-cli/src/commands/to_json.rs rename to crates/nu-command/src/commands/to_json.rs diff --git a/crates/nu-cli/src/commands/to_md.rs b/crates/nu-command/src/commands/to_md.rs similarity index 100% rename from crates/nu-cli/src/commands/to_md.rs rename to crates/nu-command/src/commands/to_md.rs diff --git a/crates/nu-cli/src/commands/to_toml.rs b/crates/nu-command/src/commands/to_toml.rs similarity index 100% rename from crates/nu-cli/src/commands/to_toml.rs rename to crates/nu-command/src/commands/to_toml.rs diff --git a/crates/nu-cli/src/commands/to_tsv.rs b/crates/nu-command/src/commands/to_tsv.rs similarity index 100% rename from crates/nu-cli/src/commands/to_tsv.rs rename to crates/nu-command/src/commands/to_tsv.rs diff --git a/crates/nu-cli/src/commands/to_url.rs b/crates/nu-command/src/commands/to_url.rs similarity index 100% rename from crates/nu-cli/src/commands/to_url.rs rename to crates/nu-command/src/commands/to_url.rs diff --git a/crates/nu-cli/src/commands/to_xml.rs b/crates/nu-command/src/commands/to_xml.rs similarity index 100% rename from crates/nu-cli/src/commands/to_xml.rs rename to crates/nu-command/src/commands/to_xml.rs diff --git a/crates/nu-cli/src/commands/to_yaml.rs b/crates/nu-command/src/commands/to_yaml.rs similarity index 100% rename from crates/nu-cli/src/commands/to_yaml.rs rename to crates/nu-command/src/commands/to_yaml.rs diff --git a/crates/nu-cli/src/commands/touch.rs b/crates/nu-command/src/commands/touch.rs similarity index 100% rename from crates/nu-cli/src/commands/touch.rs rename to crates/nu-command/src/commands/touch.rs diff --git a/crates/nu-cli/src/commands/uniq.rs b/crates/nu-command/src/commands/uniq.rs similarity index 100% rename from crates/nu-cli/src/commands/uniq.rs rename to crates/nu-command/src/commands/uniq.rs diff --git a/crates/nu-cli/src/commands/update.rs b/crates/nu-command/src/commands/update.rs similarity index 100% rename from crates/nu-cli/src/commands/update.rs rename to crates/nu-command/src/commands/update.rs diff --git a/crates/nu-cli/src/commands/url_/command.rs b/crates/nu-command/src/commands/url_/command.rs similarity index 100% rename from crates/nu-cli/src/commands/url_/command.rs rename to crates/nu-command/src/commands/url_/command.rs diff --git a/crates/nu-cli/src/commands/url_/host.rs b/crates/nu-command/src/commands/url_/host.rs similarity index 100% rename from crates/nu-cli/src/commands/url_/host.rs rename to crates/nu-command/src/commands/url_/host.rs diff --git a/crates/nu-cli/src/commands/url_/mod.rs b/crates/nu-command/src/commands/url_/mod.rs similarity index 100% rename from crates/nu-cli/src/commands/url_/mod.rs rename to crates/nu-command/src/commands/url_/mod.rs diff --git a/crates/nu-cli/src/commands/url_/path.rs b/crates/nu-command/src/commands/url_/path.rs similarity index 100% rename from crates/nu-cli/src/commands/url_/path.rs rename to crates/nu-command/src/commands/url_/path.rs diff --git a/crates/nu-cli/src/commands/url_/query.rs b/crates/nu-command/src/commands/url_/query.rs similarity index 100% rename from crates/nu-cli/src/commands/url_/query.rs rename to crates/nu-command/src/commands/url_/query.rs diff --git a/crates/nu-cli/src/commands/url_/scheme.rs b/crates/nu-command/src/commands/url_/scheme.rs similarity index 100% rename from crates/nu-cli/src/commands/url_/scheme.rs rename to crates/nu-command/src/commands/url_/scheme.rs diff --git a/crates/nu-cli/src/commands/version.rs b/crates/nu-command/src/commands/version.rs similarity index 100% rename from crates/nu-cli/src/commands/version.rs rename to crates/nu-command/src/commands/version.rs diff --git a/crates/nu-cli/src/commands/where_.rs b/crates/nu-command/src/commands/where_.rs similarity index 100% rename from crates/nu-cli/src/commands/where_.rs rename to crates/nu-command/src/commands/where_.rs diff --git a/crates/nu-cli/src/commands/which_.rs b/crates/nu-command/src/commands/which_.rs similarity index 100% rename from crates/nu-cli/src/commands/which_.rs rename to crates/nu-command/src/commands/which_.rs diff --git a/crates/nu-cli/src/commands/with_env.rs b/crates/nu-command/src/commands/with_env.rs similarity index 100% rename from crates/nu-cli/src/commands/with_env.rs rename to crates/nu-command/src/commands/with_env.rs diff --git a/crates/nu-cli/src/commands/wrap.rs b/crates/nu-command/src/commands/wrap.rs similarity index 100% rename from crates/nu-cli/src/commands/wrap.rs rename to crates/nu-command/src/commands/wrap.rs diff --git a/crates/nu-cli/src/examples.rs b/crates/nu-command/src/examples.rs similarity index 100% rename from crates/nu-cli/src/examples.rs rename to crates/nu-command/src/examples.rs diff --git a/crates/nu-cli/src/futures.rs b/crates/nu-command/src/futures.rs similarity index 100% rename from crates/nu-cli/src/futures.rs rename to crates/nu-command/src/futures.rs diff --git a/crates/nu-command/src/lib.rs b/crates/nu-command/src/lib.rs new file mode 100644 index 00000000..f80b466e --- /dev/null +++ b/crates/nu-command/src/lib.rs @@ -0,0 +1,29 @@ +#![recursion_limit = "2048"] + +#[cfg(test)] +#[macro_use] +extern crate indexmap; + +#[macro_use] +mod prelude; +pub mod commands; +mod futures; +pub mod maybe_print_errors; +pub mod script; +pub mod utils; + +#[cfg(test)] +mod examples; + +pub use crate::maybe_print_errors::maybe_print_errors; + +pub use nu_data::config; +pub use nu_data::dict::TaggedListBuilder; +pub use nu_data::primitive; +pub use nu_data::value; +pub use nu_stream::{InputStream, InterruptibleStream, OutputStream}; +pub use nu_value_ext::ValueExt; +pub use num_traits::cast::ToPrimitive; + +// TODO: Temporary redirect +pub use nu_protocol::{did_you_mean, TaggedDictBuilder}; diff --git a/crates/nu-command/src/maybe_print_errors.rs b/crates/nu-command/src/maybe_print_errors.rs new file mode 100644 index 00000000..bc324700 --- /dev/null +++ b/crates/nu-command/src/maybe_print_errors.rs @@ -0,0 +1,17 @@ +use nu_engine::EvaluationContext; +use nu_source::Text; + +pub fn maybe_print_errors(context: &EvaluationContext, source: Text) -> bool { + let errors = context.current_errors.clone(); + let mut errors = errors.lock(); + + if errors.len() > 0 { + let error = errors[0].clone(); + *errors = vec![]; + + crate::script::print_err(error, &source); + true + } else { + false + } +} diff --git a/crates/nu-command/src/prelude.rs b/crates/nu-command/src/prelude.rs new file mode 100644 index 00000000..1e43ab05 --- /dev/null +++ b/crates/nu-command/src/prelude.rs @@ -0,0 +1,106 @@ +#[macro_export] +macro_rules! return_err { + ($expr:expr) => { + match $expr { + Err(_) => return, + Ok(expr) => expr, + }; + }; +} + +#[macro_export] +macro_rules! stream { + ($($expr:expr),*) => {{ + let mut v = VecDeque::new(); + + $( + v.push_back($expr); + )* + + v + }} +} + +#[macro_export] +macro_rules! trace_out_stream { + (target: $target:tt, $desc:tt = $expr:expr) => {{ + if log::log_enabled!(target: $target, log::Level::Trace) { + use futures::stream::StreamExt; + + let objects = $expr.inspect(move |o| { + trace!( + target: $target, + "{} = {}", + $desc, + match o { + Err(err) => format!("{:?}", err), + Ok(value) => value.display(), + } + ); + }); + + nu_stream::OutputStream::new(objects) + } else { + $expr + } + }}; +} + +pub(crate) use crate::commands::command::RunnableContext; +pub(crate) use async_trait::async_trait; +pub(crate) use bigdecimal::BigDecimal; +pub(crate) use futures::{Stream, StreamExt}; +pub(crate) use indexmap::{indexmap, IndexMap}; +pub(crate) use itertools::Itertools; +pub(crate) use nu_data::config; +pub(crate) use nu_data::value; +pub(crate) use nu_engine::EvaluationContext; +pub(crate) use nu_engine::Example; +pub(crate) use nu_engine::Host; +pub(crate) use nu_engine::RawCommandArgs; +pub(crate) use nu_engine::ShellManager; +pub(crate) use nu_engine::{get_help, CommandArgs, Scope, WholeStreamCommand}; +pub(crate) use nu_parser::ParserScope; +pub(crate) use nu_protocol::{out, row}; +pub(crate) use nu_source::{AnchorLocation, PrettyDebug, Span, SpannedItem, Tag, TaggedItem, Text}; +pub(crate) use nu_stream::ToInputStream; +pub(crate) use nu_stream::{InputStream, Interruptible, OutputStream}; +pub(crate) use nu_value_ext::ValueExt; +pub(crate) use num_bigint::BigInt; +pub(crate) use num_traits::cast::ToPrimitive; +pub(crate) use serde::Deserialize; +pub(crate) use std::collections::VecDeque; +pub(crate) use std::future::Future; +pub(crate) use std::sync::atomic::{AtomicBool, Ordering}; +pub(crate) use std::sync::Arc; + +pub trait FromInputStream { + fn from_input_stream(self) -> OutputStream; +} + +impl FromInputStream for T +where + T: Stream + Send + 'static, +{ + fn from_input_stream(self) -> OutputStream { + OutputStream { + values: self.map(nu_protocol::ReturnSuccess::value).boxed(), + } + } +} + +pub trait ToOutputStream { + fn to_output_stream(self) -> OutputStream; +} + +impl ToOutputStream for T +where + T: Stream + Send + 'static, + U: Into, +{ + fn to_output_stream(self) -> OutputStream { + OutputStream { + values: self.map(|item| item.into()).boxed(), + } + } +} diff --git a/crates/nu-cli/src/script.rs b/crates/nu-command/src/script.rs similarity index 99% rename from crates/nu-cli/src/script.rs rename to crates/nu-command/src/script.rs index 91311f9d..6b58508b 100644 --- a/crates/nu-cli/src/script.rs +++ b/crates/nu-command/src/script.rs @@ -1,3 +1,4 @@ +use crate::maybe_print_errors; use crate::prelude::*; use futures_codec::FramedRead; use nu_engine::path::canonicalize; diff --git a/crates/nu-cli/src/utils.rs b/crates/nu-command/src/utils.rs similarity index 100% rename from crates/nu-cli/src/utils.rs rename to crates/nu-command/src/utils.rs diff --git a/crates/nu-cli/src/utils/suggestions.rs b/crates/nu-command/src/utils/suggestions.rs similarity index 100% rename from crates/nu-cli/src/utils/suggestions.rs rename to crates/nu-command/src/utils/suggestions.rs diff --git a/crates/nu-cli/src/utils/test_bins.rs b/crates/nu-command/src/utils/test_bins.rs similarity index 100% rename from crates/nu-cli/src/utils/test_bins.rs rename to crates/nu-command/src/utils/test_bins.rs diff --git a/crates/nu-cli/tests/commands/append.rs b/crates/nu-command/tests/commands/append.rs similarity index 100% rename from crates/nu-cli/tests/commands/append.rs rename to crates/nu-command/tests/commands/append.rs diff --git a/crates/nu-cli/tests/commands/autoenv.rs b/crates/nu-command/tests/commands/autoenv.rs similarity index 100% rename from crates/nu-cli/tests/commands/autoenv.rs rename to crates/nu-command/tests/commands/autoenv.rs diff --git a/crates/nu-cli/tests/commands/autoenv_trust.rs b/crates/nu-command/tests/commands/autoenv_trust.rs similarity index 100% rename from crates/nu-cli/tests/commands/autoenv_trust.rs rename to crates/nu-command/tests/commands/autoenv_trust.rs diff --git a/crates/nu-cli/tests/commands/autoenv_untrust.rs b/crates/nu-command/tests/commands/autoenv_untrust.rs similarity index 100% rename from crates/nu-cli/tests/commands/autoenv_untrust.rs rename to crates/nu-command/tests/commands/autoenv_untrust.rs diff --git a/crates/nu-cli/tests/commands/cal.rs b/crates/nu-command/tests/commands/cal.rs similarity index 100% rename from crates/nu-cli/tests/commands/cal.rs rename to crates/nu-command/tests/commands/cal.rs diff --git a/crates/nu-cli/tests/commands/cd.rs b/crates/nu-command/tests/commands/cd.rs similarity index 100% rename from crates/nu-cli/tests/commands/cd.rs rename to crates/nu-command/tests/commands/cd.rs diff --git a/crates/nu-cli/tests/commands/compact.rs b/crates/nu-command/tests/commands/compact.rs similarity index 100% rename from crates/nu-cli/tests/commands/compact.rs rename to crates/nu-command/tests/commands/compact.rs diff --git a/crates/nu-cli/tests/commands/count.rs b/crates/nu-command/tests/commands/count.rs similarity index 100% rename from crates/nu-cli/tests/commands/count.rs rename to crates/nu-command/tests/commands/count.rs diff --git a/crates/nu-cli/tests/commands/cp.rs b/crates/nu-command/tests/commands/cp.rs similarity index 100% rename from crates/nu-cli/tests/commands/cp.rs rename to crates/nu-command/tests/commands/cp.rs diff --git a/crates/nu-cli/tests/commands/def.rs b/crates/nu-command/tests/commands/def.rs similarity index 100% rename from crates/nu-cli/tests/commands/def.rs rename to crates/nu-command/tests/commands/def.rs diff --git a/crates/nu-cli/tests/commands/default.rs b/crates/nu-command/tests/commands/default.rs similarity index 100% rename from crates/nu-cli/tests/commands/default.rs rename to crates/nu-command/tests/commands/default.rs diff --git a/crates/nu-cli/tests/commands/drop.rs b/crates/nu-command/tests/commands/drop.rs similarity index 100% rename from crates/nu-cli/tests/commands/drop.rs rename to crates/nu-command/tests/commands/drop.rs diff --git a/crates/nu-cli/tests/commands/each.rs b/crates/nu-command/tests/commands/each.rs similarity index 100% rename from crates/nu-cli/tests/commands/each.rs rename to crates/nu-command/tests/commands/each.rs diff --git a/crates/nu-cli/tests/commands/echo.rs b/crates/nu-command/tests/commands/echo.rs similarity index 100% rename from crates/nu-cli/tests/commands/echo.rs rename to crates/nu-command/tests/commands/echo.rs diff --git a/crates/nu-cli/tests/commands/empty.rs b/crates/nu-command/tests/commands/empty.rs similarity index 100% rename from crates/nu-cli/tests/commands/empty.rs rename to crates/nu-command/tests/commands/empty.rs diff --git a/crates/nu-cli/tests/commands/enter.rs b/crates/nu-command/tests/commands/enter.rs similarity index 100% rename from crates/nu-cli/tests/commands/enter.rs rename to crates/nu-command/tests/commands/enter.rs diff --git a/crates/nu-cli/tests/commands/every.rs b/crates/nu-command/tests/commands/every.rs similarity index 100% rename from crates/nu-cli/tests/commands/every.rs rename to crates/nu-command/tests/commands/every.rs diff --git a/crates/nu-cli/tests/commands/first.rs b/crates/nu-command/tests/commands/first.rs similarity index 100% rename from crates/nu-cli/tests/commands/first.rs rename to crates/nu-command/tests/commands/first.rs diff --git a/crates/nu-cli/tests/commands/flatten.rs b/crates/nu-command/tests/commands/flatten.rs similarity index 100% rename from crates/nu-cli/tests/commands/flatten.rs rename to crates/nu-command/tests/commands/flatten.rs diff --git a/crates/nu-cli/tests/commands/format.rs b/crates/nu-command/tests/commands/format.rs similarity index 100% rename from crates/nu-cli/tests/commands/format.rs rename to crates/nu-command/tests/commands/format.rs diff --git a/crates/nu-cli/tests/commands/get.rs b/crates/nu-command/tests/commands/get.rs similarity index 100% rename from crates/nu-cli/tests/commands/get.rs rename to crates/nu-command/tests/commands/get.rs diff --git a/crates/nu-cli/tests/commands/group_by.rs b/crates/nu-command/tests/commands/group_by.rs similarity index 100% rename from crates/nu-cli/tests/commands/group_by.rs rename to crates/nu-command/tests/commands/group_by.rs diff --git a/crates/nu-cli/tests/commands/hash_/mod.rs b/crates/nu-command/tests/commands/hash_/mod.rs similarity index 100% rename from crates/nu-cli/tests/commands/hash_/mod.rs rename to crates/nu-command/tests/commands/hash_/mod.rs diff --git a/crates/nu-cli/tests/commands/headers.rs b/crates/nu-command/tests/commands/headers.rs similarity index 100% rename from crates/nu-cli/tests/commands/headers.rs rename to crates/nu-command/tests/commands/headers.rs diff --git a/crates/nu-cli/tests/commands/histogram.rs b/crates/nu-command/tests/commands/histogram.rs similarity index 100% rename from crates/nu-cli/tests/commands/histogram.rs rename to crates/nu-command/tests/commands/histogram.rs diff --git a/crates/nu-cli/tests/commands/insert.rs b/crates/nu-command/tests/commands/insert.rs similarity index 100% rename from crates/nu-cli/tests/commands/insert.rs rename to crates/nu-command/tests/commands/insert.rs diff --git a/crates/nu-cli/tests/commands/into_int.rs b/crates/nu-command/tests/commands/into_int.rs similarity index 100% rename from crates/nu-cli/tests/commands/into_int.rs rename to crates/nu-command/tests/commands/into_int.rs diff --git a/crates/nu-cli/tests/commands/keep/mod.rs b/crates/nu-command/tests/commands/keep/mod.rs similarity index 100% rename from crates/nu-cli/tests/commands/keep/mod.rs rename to crates/nu-command/tests/commands/keep/mod.rs diff --git a/crates/nu-cli/tests/commands/keep/rows.rs b/crates/nu-command/tests/commands/keep/rows.rs similarity index 100% rename from crates/nu-cli/tests/commands/keep/rows.rs rename to crates/nu-command/tests/commands/keep/rows.rs diff --git a/crates/nu-cli/tests/commands/keep/until.rs b/crates/nu-command/tests/commands/keep/until.rs similarity index 100% rename from crates/nu-cli/tests/commands/keep/until.rs rename to crates/nu-command/tests/commands/keep/until.rs diff --git a/crates/nu-cli/tests/commands/keep/while_.rs b/crates/nu-command/tests/commands/keep/while_.rs similarity index 100% rename from crates/nu-cli/tests/commands/keep/while_.rs rename to crates/nu-command/tests/commands/keep/while_.rs diff --git a/crates/nu-cli/tests/commands/last.rs b/crates/nu-command/tests/commands/last.rs similarity index 100% rename from crates/nu-cli/tests/commands/last.rs rename to crates/nu-command/tests/commands/last.rs diff --git a/crates/nu-cli/tests/commands/lines.rs b/crates/nu-command/tests/commands/lines.rs similarity index 100% rename from crates/nu-cli/tests/commands/lines.rs rename to crates/nu-command/tests/commands/lines.rs diff --git a/crates/nu-cli/tests/commands/ls.rs b/crates/nu-command/tests/commands/ls.rs similarity index 100% rename from crates/nu-cli/tests/commands/ls.rs rename to crates/nu-command/tests/commands/ls.rs diff --git a/crates/nu-cli/tests/commands/math/avg.rs b/crates/nu-command/tests/commands/math/avg.rs similarity index 100% rename from crates/nu-cli/tests/commands/math/avg.rs rename to crates/nu-command/tests/commands/math/avg.rs diff --git a/crates/nu-cli/tests/commands/math/eval.rs b/crates/nu-command/tests/commands/math/eval.rs similarity index 100% rename from crates/nu-cli/tests/commands/math/eval.rs rename to crates/nu-command/tests/commands/math/eval.rs diff --git a/crates/nu-cli/tests/commands/math/median.rs b/crates/nu-command/tests/commands/math/median.rs similarity index 100% rename from crates/nu-cli/tests/commands/math/median.rs rename to crates/nu-command/tests/commands/math/median.rs diff --git a/crates/nu-cli/tests/commands/math/mod.rs b/crates/nu-command/tests/commands/math/mod.rs similarity index 100% rename from crates/nu-cli/tests/commands/math/mod.rs rename to crates/nu-command/tests/commands/math/mod.rs diff --git a/crates/nu-cli/tests/commands/math/sum.rs b/crates/nu-command/tests/commands/math/sum.rs similarity index 100% rename from crates/nu-cli/tests/commands/math/sum.rs rename to crates/nu-command/tests/commands/math/sum.rs diff --git a/crates/nu-cli/tests/commands/merge.rs b/crates/nu-command/tests/commands/merge.rs similarity index 100% rename from crates/nu-cli/tests/commands/merge.rs rename to crates/nu-command/tests/commands/merge.rs diff --git a/crates/nu-cli/tests/commands/mkdir.rs b/crates/nu-command/tests/commands/mkdir.rs similarity index 100% rename from crates/nu-cli/tests/commands/mkdir.rs rename to crates/nu-command/tests/commands/mkdir.rs diff --git a/crates/nu-cli/tests/commands/mod.rs b/crates/nu-command/tests/commands/mod.rs similarity index 100% rename from crates/nu-cli/tests/commands/mod.rs rename to crates/nu-command/tests/commands/mod.rs diff --git a/crates/nu-cli/tests/commands/move_/column.rs b/crates/nu-command/tests/commands/move_/column.rs similarity index 100% rename from crates/nu-cli/tests/commands/move_/column.rs rename to crates/nu-command/tests/commands/move_/column.rs diff --git a/crates/nu-cli/tests/commands/move_/mod.rs b/crates/nu-command/tests/commands/move_/mod.rs similarity index 100% rename from crates/nu-cli/tests/commands/move_/mod.rs rename to crates/nu-command/tests/commands/move_/mod.rs diff --git a/crates/nu-cli/tests/commands/move_/mv.rs b/crates/nu-command/tests/commands/move_/mv.rs similarity index 100% rename from crates/nu-cli/tests/commands/move_/mv.rs rename to crates/nu-command/tests/commands/move_/mv.rs diff --git a/crates/nu-cli/tests/commands/nth.rs b/crates/nu-command/tests/commands/nth.rs similarity index 100% rename from crates/nu-cli/tests/commands/nth.rs rename to crates/nu-command/tests/commands/nth.rs diff --git a/crates/nu-cli/tests/commands/open.rs b/crates/nu-command/tests/commands/open.rs similarity index 100% rename from crates/nu-cli/tests/commands/open.rs rename to crates/nu-command/tests/commands/open.rs diff --git a/crates/nu-cli/tests/commands/parse.rs b/crates/nu-command/tests/commands/parse.rs similarity index 100% rename from crates/nu-cli/tests/commands/parse.rs rename to crates/nu-command/tests/commands/parse.rs diff --git a/crates/nu-cli/tests/commands/path/basename.rs b/crates/nu-command/tests/commands/path/basename.rs similarity index 100% rename from crates/nu-cli/tests/commands/path/basename.rs rename to crates/nu-command/tests/commands/path/basename.rs diff --git a/crates/nu-cli/tests/commands/path/dirname.rs b/crates/nu-command/tests/commands/path/dirname.rs similarity index 100% rename from crates/nu-cli/tests/commands/path/dirname.rs rename to crates/nu-command/tests/commands/path/dirname.rs diff --git a/crates/nu-cli/tests/commands/path/exists.rs b/crates/nu-command/tests/commands/path/exists.rs similarity index 100% rename from crates/nu-cli/tests/commands/path/exists.rs rename to crates/nu-command/tests/commands/path/exists.rs diff --git a/crates/nu-cli/tests/commands/path/expand.rs b/crates/nu-command/tests/commands/path/expand.rs similarity index 100% rename from crates/nu-cli/tests/commands/path/expand.rs rename to crates/nu-command/tests/commands/path/expand.rs diff --git a/crates/nu-cli/tests/commands/path/extension.rs b/crates/nu-command/tests/commands/path/extension.rs similarity index 100% rename from crates/nu-cli/tests/commands/path/extension.rs rename to crates/nu-command/tests/commands/path/extension.rs diff --git a/crates/nu-cli/tests/commands/path/filestem.rs b/crates/nu-command/tests/commands/path/filestem.rs similarity index 100% rename from crates/nu-cli/tests/commands/path/filestem.rs rename to crates/nu-command/tests/commands/path/filestem.rs diff --git a/crates/nu-cli/tests/commands/path/mod.rs b/crates/nu-command/tests/commands/path/mod.rs similarity index 100% rename from crates/nu-cli/tests/commands/path/mod.rs rename to crates/nu-command/tests/commands/path/mod.rs diff --git a/crates/nu-cli/tests/commands/path/type_.rs b/crates/nu-command/tests/commands/path/type_.rs similarity index 100% rename from crates/nu-cli/tests/commands/path/type_.rs rename to crates/nu-command/tests/commands/path/type_.rs diff --git a/crates/nu-cli/tests/commands/prepend.rs b/crates/nu-command/tests/commands/prepend.rs similarity index 100% rename from crates/nu-cli/tests/commands/prepend.rs rename to crates/nu-command/tests/commands/prepend.rs diff --git a/crates/nu-cli/tests/commands/random/bool.rs b/crates/nu-command/tests/commands/random/bool.rs similarity index 100% rename from crates/nu-cli/tests/commands/random/bool.rs rename to crates/nu-command/tests/commands/random/bool.rs diff --git a/crates/nu-cli/tests/commands/random/chars.rs b/crates/nu-command/tests/commands/random/chars.rs similarity index 100% rename from crates/nu-cli/tests/commands/random/chars.rs rename to crates/nu-command/tests/commands/random/chars.rs diff --git a/crates/nu-cli/tests/commands/random/decimal.rs b/crates/nu-command/tests/commands/random/decimal.rs similarity index 100% rename from crates/nu-cli/tests/commands/random/decimal.rs rename to crates/nu-command/tests/commands/random/decimal.rs diff --git a/crates/nu-cli/tests/commands/random/dice.rs b/crates/nu-command/tests/commands/random/dice.rs similarity index 100% rename from crates/nu-cli/tests/commands/random/dice.rs rename to crates/nu-command/tests/commands/random/dice.rs diff --git a/crates/nu-cli/tests/commands/random/integer.rs b/crates/nu-command/tests/commands/random/integer.rs similarity index 100% rename from crates/nu-cli/tests/commands/random/integer.rs rename to crates/nu-command/tests/commands/random/integer.rs diff --git a/crates/nu-cli/tests/commands/random/mod.rs b/crates/nu-command/tests/commands/random/mod.rs similarity index 100% rename from crates/nu-cli/tests/commands/random/mod.rs rename to crates/nu-command/tests/commands/random/mod.rs diff --git a/crates/nu-cli/tests/commands/random/uuid.rs b/crates/nu-command/tests/commands/random/uuid.rs similarity index 100% rename from crates/nu-cli/tests/commands/random/uuid.rs rename to crates/nu-command/tests/commands/random/uuid.rs diff --git a/crates/nu-cli/tests/commands/range.rs b/crates/nu-command/tests/commands/range.rs similarity index 100% rename from crates/nu-cli/tests/commands/range.rs rename to crates/nu-command/tests/commands/range.rs diff --git a/crates/nu-cli/tests/commands/reduce.rs b/crates/nu-command/tests/commands/reduce.rs similarity index 100% rename from crates/nu-cli/tests/commands/reduce.rs rename to crates/nu-command/tests/commands/reduce.rs diff --git a/crates/nu-cli/tests/commands/rename.rs b/crates/nu-command/tests/commands/rename.rs similarity index 100% rename from crates/nu-cli/tests/commands/rename.rs rename to crates/nu-command/tests/commands/rename.rs diff --git a/crates/nu-cli/tests/commands/reverse.rs b/crates/nu-command/tests/commands/reverse.rs similarity index 100% rename from crates/nu-cli/tests/commands/reverse.rs rename to crates/nu-command/tests/commands/reverse.rs diff --git a/crates/nu-cli/tests/commands/rm.rs b/crates/nu-command/tests/commands/rm.rs similarity index 100% rename from crates/nu-cli/tests/commands/rm.rs rename to crates/nu-command/tests/commands/rm.rs diff --git a/crates/nu-cli/tests/commands/save.rs b/crates/nu-command/tests/commands/save.rs similarity index 100% rename from crates/nu-cli/tests/commands/save.rs rename to crates/nu-command/tests/commands/save.rs diff --git a/crates/nu-cli/tests/commands/select.rs b/crates/nu-command/tests/commands/select.rs similarity index 100% rename from crates/nu-cli/tests/commands/select.rs rename to crates/nu-command/tests/commands/select.rs diff --git a/crates/nu-cli/tests/commands/semicolon.rs b/crates/nu-command/tests/commands/semicolon.rs similarity index 100% rename from crates/nu-cli/tests/commands/semicolon.rs rename to crates/nu-command/tests/commands/semicolon.rs diff --git a/crates/nu-cli/tests/commands/skip/mod.rs b/crates/nu-command/tests/commands/skip/mod.rs similarity index 100% rename from crates/nu-cli/tests/commands/skip/mod.rs rename to crates/nu-command/tests/commands/skip/mod.rs diff --git a/crates/nu-cli/tests/commands/skip/until.rs b/crates/nu-command/tests/commands/skip/until.rs similarity index 100% rename from crates/nu-cli/tests/commands/skip/until.rs rename to crates/nu-command/tests/commands/skip/until.rs diff --git a/crates/nu-cli/tests/commands/skip/while_.rs b/crates/nu-command/tests/commands/skip/while_.rs similarity index 100% rename from crates/nu-cli/tests/commands/skip/while_.rs rename to crates/nu-command/tests/commands/skip/while_.rs diff --git a/crates/nu-cli/tests/commands/sort_by.rs b/crates/nu-command/tests/commands/sort_by.rs similarity index 100% rename from crates/nu-cli/tests/commands/sort_by.rs rename to crates/nu-command/tests/commands/sort_by.rs diff --git a/crates/nu-cli/tests/commands/split_by.rs b/crates/nu-command/tests/commands/split_by.rs similarity index 100% rename from crates/nu-cli/tests/commands/split_by.rs rename to crates/nu-command/tests/commands/split_by.rs diff --git a/crates/nu-cli/tests/commands/split_column.rs b/crates/nu-command/tests/commands/split_column.rs similarity index 100% rename from crates/nu-cli/tests/commands/split_column.rs rename to crates/nu-command/tests/commands/split_column.rs diff --git a/crates/nu-cli/tests/commands/split_row.rs b/crates/nu-command/tests/commands/split_row.rs similarity index 100% rename from crates/nu-cli/tests/commands/split_row.rs rename to crates/nu-command/tests/commands/split_row.rs diff --git a/crates/nu-cli/tests/commands/str_/collect.rs b/crates/nu-command/tests/commands/str_/collect.rs similarity index 100% rename from crates/nu-cli/tests/commands/str_/collect.rs rename to crates/nu-command/tests/commands/str_/collect.rs diff --git a/crates/nu-cli/tests/commands/str_/mod.rs b/crates/nu-command/tests/commands/str_/mod.rs similarity index 100% rename from crates/nu-cli/tests/commands/str_/mod.rs rename to crates/nu-command/tests/commands/str_/mod.rs diff --git a/crates/nu-cli/tests/commands/touch.rs b/crates/nu-command/tests/commands/touch.rs similarity index 100% rename from crates/nu-cli/tests/commands/touch.rs rename to crates/nu-command/tests/commands/touch.rs diff --git a/crates/nu-cli/tests/commands/uniq.rs b/crates/nu-command/tests/commands/uniq.rs similarity index 100% rename from crates/nu-cli/tests/commands/uniq.rs rename to crates/nu-command/tests/commands/uniq.rs diff --git a/crates/nu-cli/tests/commands/update.rs b/crates/nu-command/tests/commands/update.rs similarity index 100% rename from crates/nu-cli/tests/commands/update.rs rename to crates/nu-command/tests/commands/update.rs diff --git a/crates/nu-cli/tests/commands/where_.rs b/crates/nu-command/tests/commands/where_.rs similarity index 100% rename from crates/nu-cli/tests/commands/where_.rs rename to crates/nu-command/tests/commands/where_.rs diff --git a/crates/nu-cli/tests/commands/which.rs b/crates/nu-command/tests/commands/which.rs similarity index 100% rename from crates/nu-cli/tests/commands/which.rs rename to crates/nu-command/tests/commands/which.rs diff --git a/crates/nu-cli/tests/commands/with_env.rs b/crates/nu-command/tests/commands/with_env.rs similarity index 100% rename from crates/nu-cli/tests/commands/with_env.rs rename to crates/nu-command/tests/commands/with_env.rs diff --git a/crates/nu-cli/tests/commands/wrap.rs b/crates/nu-command/tests/commands/wrap.rs similarity index 100% rename from crates/nu-cli/tests/commands/wrap.rs rename to crates/nu-command/tests/commands/wrap.rs diff --git a/crates/nu-cli/tests/format_conversions/bson.rs b/crates/nu-command/tests/format_conversions/bson.rs similarity index 100% rename from crates/nu-cli/tests/format_conversions/bson.rs rename to crates/nu-command/tests/format_conversions/bson.rs diff --git a/crates/nu-cli/tests/format_conversions/csv.rs b/crates/nu-command/tests/format_conversions/csv.rs similarity index 100% rename from crates/nu-cli/tests/format_conversions/csv.rs rename to crates/nu-command/tests/format_conversions/csv.rs diff --git a/crates/nu-cli/tests/format_conversions/eml.rs b/crates/nu-command/tests/format_conversions/eml.rs similarity index 100% rename from crates/nu-cli/tests/format_conversions/eml.rs rename to crates/nu-command/tests/format_conversions/eml.rs diff --git a/crates/nu-cli/tests/format_conversions/html.rs b/crates/nu-command/tests/format_conversions/html.rs similarity index 100% rename from crates/nu-cli/tests/format_conversions/html.rs rename to crates/nu-command/tests/format_conversions/html.rs diff --git a/crates/nu-cli/tests/format_conversions/ics.rs b/crates/nu-command/tests/format_conversions/ics.rs similarity index 100% rename from crates/nu-cli/tests/format_conversions/ics.rs rename to crates/nu-command/tests/format_conversions/ics.rs diff --git a/crates/nu-cli/tests/format_conversions/json.rs b/crates/nu-command/tests/format_conversions/json.rs similarity index 100% rename from crates/nu-cli/tests/format_conversions/json.rs rename to crates/nu-command/tests/format_conversions/json.rs diff --git a/crates/nu-cli/tests/format_conversions/markdown.rs b/crates/nu-command/tests/format_conversions/markdown.rs similarity index 100% rename from crates/nu-cli/tests/format_conversions/markdown.rs rename to crates/nu-command/tests/format_conversions/markdown.rs diff --git a/crates/nu-cli/tests/format_conversions/mod.rs b/crates/nu-command/tests/format_conversions/mod.rs similarity index 100% rename from crates/nu-cli/tests/format_conversions/mod.rs rename to crates/nu-command/tests/format_conversions/mod.rs diff --git a/crates/nu-cli/tests/format_conversions/ods.rs b/crates/nu-command/tests/format_conversions/ods.rs similarity index 100% rename from crates/nu-cli/tests/format_conversions/ods.rs rename to crates/nu-command/tests/format_conversions/ods.rs diff --git a/crates/nu-cli/tests/format_conversions/sqlite.rs b/crates/nu-command/tests/format_conversions/sqlite.rs similarity index 100% rename from crates/nu-cli/tests/format_conversions/sqlite.rs rename to crates/nu-command/tests/format_conversions/sqlite.rs diff --git a/crates/nu-cli/tests/format_conversions/ssv.rs b/crates/nu-command/tests/format_conversions/ssv.rs similarity index 100% rename from crates/nu-cli/tests/format_conversions/ssv.rs rename to crates/nu-command/tests/format_conversions/ssv.rs diff --git a/crates/nu-cli/tests/format_conversions/toml.rs b/crates/nu-command/tests/format_conversions/toml.rs similarity index 100% rename from crates/nu-cli/tests/format_conversions/toml.rs rename to crates/nu-command/tests/format_conversions/toml.rs diff --git a/crates/nu-cli/tests/format_conversions/tsv.rs b/crates/nu-command/tests/format_conversions/tsv.rs similarity index 100% rename from crates/nu-cli/tests/format_conversions/tsv.rs rename to crates/nu-command/tests/format_conversions/tsv.rs diff --git a/crates/nu-cli/tests/format_conversions/url.rs b/crates/nu-command/tests/format_conversions/url.rs similarity index 100% rename from crates/nu-cli/tests/format_conversions/url.rs rename to crates/nu-command/tests/format_conversions/url.rs diff --git a/crates/nu-cli/tests/format_conversions/vcf.rs b/crates/nu-command/tests/format_conversions/vcf.rs similarity index 100% rename from crates/nu-cli/tests/format_conversions/vcf.rs rename to crates/nu-command/tests/format_conversions/vcf.rs diff --git a/crates/nu-cli/tests/format_conversions/xlsx.rs b/crates/nu-command/tests/format_conversions/xlsx.rs similarity index 100% rename from crates/nu-cli/tests/format_conversions/xlsx.rs rename to crates/nu-command/tests/format_conversions/xlsx.rs diff --git a/crates/nu-cli/tests/format_conversions/xml.rs b/crates/nu-command/tests/format_conversions/xml.rs similarity index 100% rename from crates/nu-cli/tests/format_conversions/xml.rs rename to crates/nu-command/tests/format_conversions/xml.rs diff --git a/crates/nu-cli/tests/format_conversions/yaml.rs b/crates/nu-command/tests/format_conversions/yaml.rs similarity index 100% rename from crates/nu-cli/tests/format_conversions/yaml.rs rename to crates/nu-command/tests/format_conversions/yaml.rs diff --git a/crates/nu-cli/tests/main.rs b/crates/nu-command/tests/main.rs similarity index 73% rename from crates/nu-cli/tests/main.rs rename to crates/nu-command/tests/main.rs index 022f79a0..c8ceb408 100644 --- a/crates/nu-cli/tests/main.rs +++ b/crates/nu-command/tests/main.rs @@ -1,4 +1,4 @@ -extern crate nu_cli; +extern crate nu_command; extern crate nu_test_support; mod commands; diff --git a/crates/nu-parser/src/lex.rs b/crates/nu-parser/src/lex.rs index 2faac3b8..597232be 100644 --- a/crates/nu-parser/src/lex.rs +++ b/crates/nu-parser/src/lex.rs @@ -37,21 +37,11 @@ pub enum TokenContents { impl fmt::Display for TokenContents { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { - TokenContents::Baseline(base) => { - write!(f, "{}", base) - } - TokenContents::Comment(comm) => { - write!(f, "#{}", comm) - } - TokenContents::Pipe => { - write!(f, "|") - } - TokenContents::Semicolon => { - write!(f, ";") - } - TokenContents::EOL => { - write!(f, "\\n") - } + TokenContents::Baseline(base) => write!(f, "{}", base), + TokenContents::Comment(comm) => write!(f, "#{}", comm), + TokenContents::Pipe => write!(f, "|"), + TokenContents::Semicolon => write!(f, ";"), + TokenContents::EOL => write!(f, "\\n"), } } } diff --git a/src/main.rs b/src/main.rs index 2d881a7f..a2ce96af 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,7 +1,7 @@ use clap::{App, Arg}; use log::LevelFilter; use nu_cli::create_default_context; -use nu_cli::utils::test_bins as binaries; +use nu_command::utils::test_bins as binaries; use std::error::Error; use std::fs::File; use std::io::prelude::*;