mirror of
https://github.com/nushell/nushell.git
synced 2024-11-25 18:03:51 +01:00
57510f2fd2
# Description Part of the larger cratification effort. Moves all `reedline` or shell line editor specific commands to `nu-cli`. ## From `nu-cmd-lang`: - `commandline` - This shouldn't have moved there. Doesn't directly depend on reedline but assumes parts in the engine state that are specific to the use of reedline or a REPL ## From `nu-command`: - `keybindings` and subcommands - `keybindings default` - `keybindings list` - `keybindings listen` - very `reedline` specific - `history` - needs `reedline` - `history session` ## internal use Instead of having a separate `create_default_context()` that calls `nu-command`'s `create_default_context()`, I added a `add_cli_context()` that updates an `EngineState` # User-Facing Changes None ## Build time comparison `cargo build --timings` from a `cargo clean --profile dev` ### total main: 64 secs this: 59 secs ### `nu-command` build time branch | total| codegen | fraction ---|---|---|--- main | 14.0s | 6.2s | (44%) this | 12.5s | 5.5s | (44%) `nu-cli` depends on `nu-command` at the moment. Thus it is built during the code-gen phase of `nu-command` (on 16 virtual cores) # Tests + Formatting I removed the `test_example()` facilities for now as we had not run any of the commands in an `Example` test and importing the right context for those tests seemed more of a hassle than the duplicated `test_examples()` implementations in `nu-cmd-lang` and `nu-command`
45 lines
1.3 KiB
TOML
45 lines
1.3 KiB
TOML
[package]
|
|
authors = ["The Nushell Project Developers"]
|
|
description = "CLI-related functionality for Nushell"
|
|
repository = "https://github.com/nushell/nushell/tree/main/crates/nu-cli"
|
|
edition = "2021"
|
|
license = "MIT"
|
|
name = "nu-cli"
|
|
version = "0.78.1"
|
|
|
|
[lib]
|
|
bench = false
|
|
|
|
[dev-dependencies]
|
|
nu-test-support = { path = "../nu-test-support", version = "0.78.1" }
|
|
rstest = { version = "0.17.0", default-features = false }
|
|
|
|
[dependencies]
|
|
nu-command = { path = "../nu-command", version = "0.78.1" }
|
|
nu-engine = { path = "../nu-engine", version = "0.78.1" }
|
|
nu-path = { path = "../nu-path", version = "0.78.1" }
|
|
nu-parser = { path = "../nu-parser", version = "0.78.1" }
|
|
nu-protocol = { path = "../nu-protocol", version = "0.78.1" }
|
|
nu-utils = { path = "../nu-utils", version = "0.78.1" }
|
|
nu-color-config = { path = "../nu-color-config", version = "0.78.1" }
|
|
|
|
nu-ansi-term = "0.47.0"
|
|
reedline = { version = "0.18.0", features = ["bashisms", "sqlite"] }
|
|
|
|
atty = "0.2.14"
|
|
chrono = { default-features = false, features = ["std"], version = "0.4.23" }
|
|
crossterm = "0.24.0"
|
|
fancy-regex = "0.11.0"
|
|
fuzzy-matcher = "0.3.7"
|
|
is_executable = "1.0.1"
|
|
once_cell = "1.17.0"
|
|
log = "0.4"
|
|
miette = { version = "5.7.0", features = ["fancy-no-backtrace"] }
|
|
percent-encoding = "2"
|
|
sysinfo = "0.28.2"
|
|
thiserror = "1.0.31"
|
|
unicode-segmentation = "1.10.0"
|
|
|
|
[features]
|
|
plugin = []
|