forked from extern/nushell
028fc9b9cd
Refactored out most of internal work for summarizing data opening the door for generating charts from it. A model is introduced to hold information needed for a summary, Histogram command is an example of a partial usage. This is the beginning. Removed implicit arithmetic traits on Value and Primitive to avoid mixed types panics. The std operations traits can't fail and we can't guarantee that. We can handle gracefully now since compute_values was introduced after the parser changes four months ago. The handling logic should be taken care of either explicitly or in compute_values. The zero identity trait was also removed (and implementing this forced us to also implement Add, Mult, etc) Also: the `math` operations now remove in the output if a given column is not computable: ``` > ls | math sum ──────┬────────── size │ 150.9 KB ──────┴────────── ```
167 lines
5.4 KiB
TOML
167 lines
5.4 KiB
TOML
[package]
|
|
authors = ["The Nu Project Contributors"]
|
|
default-run = "nu"
|
|
description = "A new type of shell"
|
|
documentation = "https://www.nushell.sh/book/"
|
|
edition = "2018"
|
|
exclude = ["images"]
|
|
homepage = "https://www.nushell.sh"
|
|
license = "MIT"
|
|
name = "nu"
|
|
readme = "README.md"
|
|
repository = "https://github.com/nushell/nushell"
|
|
version = "0.17.0"
|
|
|
|
[workspace]
|
|
members = ["crates/*/"]
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[dependencies]
|
|
nu-cli = {version = "0.17.0", path = "./crates/nu-cli"}
|
|
nu-errors = {version = "0.17.0", path = "./crates/nu-errors"}
|
|
nu-parser = {version = "0.17.0", path = "./crates/nu-parser"}
|
|
nu-plugin = {version = "0.17.0", path = "./crates/nu-plugin"}
|
|
nu-protocol = {version = "0.17.0", path = "./crates/nu-protocol"}
|
|
nu-source = {version = "0.17.0", path = "./crates/nu-source"}
|
|
nu-value-ext = {version = "0.17.0", path = "./crates/nu-value-ext"}
|
|
|
|
nu_plugin_binaryview = {version = "0.17.0", path = "./crates/nu_plugin_binaryview", optional = true}
|
|
nu_plugin_fetch = {version = "0.17.0", path = "./crates/nu_plugin_fetch", optional = true}
|
|
nu_plugin_from_bson = {version = "0.17.0", path = "./crates/nu_plugin_from_bson", optional = true}
|
|
nu_plugin_from_sqlite = {version = "0.17.0", path = "./crates/nu_plugin_from_sqlite", optional = true}
|
|
nu_plugin_inc = {version = "0.17.0", path = "./crates/nu_plugin_inc", optional = true}
|
|
nu_plugin_match = {version = "0.17.0", path = "./crates/nu_plugin_match", optional = true}
|
|
nu_plugin_post = {version = "0.17.0", path = "./crates/nu_plugin_post", optional = true}
|
|
nu_plugin_ps = {version = "0.17.0", path = "./crates/nu_plugin_ps", optional = true}
|
|
nu_plugin_start = {version = "0.17.0", path = "./crates/nu_plugin_start", optional = true}
|
|
nu_plugin_sys = {version = "0.17.0", path = "./crates/nu_plugin_sys", optional = true}
|
|
nu_plugin_textview = {version = "0.17.0", path = "./crates/nu_plugin_textview", optional = true}
|
|
nu_plugin_to_bson = {version = "0.17.0", path = "./crates/nu_plugin_to_bson", optional = true}
|
|
nu_plugin_to_sqlite = {version = "0.17.0", path = "./crates/nu_plugin_to_sqlite", optional = true}
|
|
nu_plugin_tree = {version = "0.17.0", path = "./crates/nu_plugin_tree", optional = true}
|
|
|
|
crossterm = {version = "0.17.5", optional = true}
|
|
semver = {version = "0.10.0", optional = true}
|
|
syntect = {version = "4.2", default-features = false, features = ["default-fancy"], optional = true}
|
|
url = {version = "2.1.1", optional = true}
|
|
|
|
clap = "2.33.1"
|
|
ctrlc = "3.1.4"
|
|
dunce = "1.0.1"
|
|
futures = {version = "0.3", features = ["compat", "io-compat"]}
|
|
log = "0.4.8"
|
|
pretty_env_logger = "0.4.0"
|
|
starship = "0.43.0"
|
|
quick-xml = "0.18.1"
|
|
|
|
[dev-dependencies]
|
|
nu-test-support = {version = "0.17.0", path = "./crates/nu-test-support"}
|
|
|
|
[build-dependencies]
|
|
serde = {version = "1.0.110", features = ["derive"]}
|
|
toml = "0.5.6"
|
|
|
|
[features]
|
|
default = [
|
|
"sys",
|
|
"ps",
|
|
"textview",
|
|
"inc",
|
|
"git-support",
|
|
"directories-support",
|
|
"ctrlc-support",
|
|
"which-support",
|
|
"ptree-support",
|
|
"term-support",
|
|
"uuid-support",
|
|
]
|
|
stable = ["default", "binaryview", "match", "tree", "post", "fetch", "clipboard-cli", "trash-support", "start", "starship-prompt", "bson", "sqlite"]
|
|
|
|
# Default
|
|
inc = ["semver", "nu_plugin_inc"]
|
|
ps = ["nu_plugin_ps"]
|
|
sys = ["nu_plugin_sys"]
|
|
textview = ["crossterm", "syntect", "url", "nu_plugin_textview"]
|
|
|
|
# Stable
|
|
binaryview = ["nu_plugin_binaryview"]
|
|
bson = ["nu_plugin_from_bson", "nu_plugin_to_bson"]
|
|
fetch = ["nu_plugin_fetch"]
|
|
match = ["nu_plugin_match"]
|
|
post = ["nu_plugin_post"]
|
|
sqlite = ["nu_plugin_from_sqlite", "nu_plugin_to_sqlite"]
|
|
start = ["nu_plugin_start"]
|
|
trace = ["nu-parser/trace"]
|
|
tree = ["nu_plugin_tree"]
|
|
|
|
clipboard-cli = ["nu-cli/clipboard-cli"]
|
|
ctrlc-support = ["nu-cli/ctrlc"]
|
|
directories-support = ["nu-cli/directories", "nu-cli/dirs"]
|
|
git-support = ["nu-cli/git2"]
|
|
ptree-support = ["nu-cli/ptree"]
|
|
starship-prompt = ["nu-cli/starship-prompt"]
|
|
term-support = ["nu-cli/term"]
|
|
trash-support = ["nu-cli/trash-support"]
|
|
uuid-support = ["nu-cli/uuid_crate"]
|
|
which-support = ["nu-cli/ichwh", "nu-cli/which"]
|
|
|
|
# Core plugins that ship with `cargo install nu` by default
|
|
# Currently, Cargo limits us to installing only one binary
|
|
# unless we use [[bin]], so we use this as a workaround
|
|
[[bin]]
|
|
name = "nu_plugin_core_textview"
|
|
path = "src/plugins/nu_plugin_core_textview.rs"
|
|
required-features = ["textview"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_core_inc"
|
|
path = "src/plugins/nu_plugin_core_inc.rs"
|
|
required-features = ["inc"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_core_ps"
|
|
path = "src/plugins/nu_plugin_core_ps.rs"
|
|
required-features = ["ps"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_core_sys"
|
|
path = "src/plugins/nu_plugin_core_sys.rs"
|
|
required-features = ["sys"]
|
|
|
|
# Stable plugins
|
|
[[bin]]
|
|
name = "nu_plugin_stable_fetch"
|
|
path = "src/plugins/nu_plugin_stable_fetch.rs"
|
|
required-features = ["fetch"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_stable_binaryview"
|
|
path = "src/plugins/nu_plugin_stable_binaryview.rs"
|
|
required-features = ["binaryview"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_stable_match"
|
|
path = "src/plugins/nu_plugin_stable_match.rs"
|
|
required-features = ["match"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_stable_post"
|
|
path = "src/plugins/nu_plugin_stable_post.rs"
|
|
required-features = ["post"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_stable_tree"
|
|
path = "src/plugins/nu_plugin_stable_tree.rs"
|
|
required-features = ["tree"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_stable_start"
|
|
path = "src/plugins/nu_plugin_stable_start.rs"
|
|
required-features = ["start"]
|
|
|
|
# Main nu binary
|
|
[[bin]]
|
|
name = "nu"
|
|
path = "src/main.rs"
|