mirror of
https://github.com/nushell/nushell
synced 2024-12-27 21:43:09 +00:00
6a7c00eaef
This commit should finish the `coloring_in_tokens` feature, which moves the shape accumulator into the token stream. This allows rollbacks of the token stream to also roll back any shapes that were added. This commit also adds a much nicer syntax highlighter trace, which shows all of the paths the highlighter took to arrive at a particular coloring output. This change is fairly substantial, but really improves the understandability of the flow. I intend to update the normal parser with a similar tracing view. In general, this change also fleshes out the concept of "atomic" token stream operations. A good next step would be to try to make the parser more error-correcting, using the coloring infrastructure. A follow-up step would involve merging the parser and highlighter shapes themselves.
184 lines
4.3 KiB
TOML
184 lines
4.3 KiB
TOML
[package]
|
|
name = "nu"
|
|
version = "0.4.0"
|
|
authors = ["Yehuda Katz <wycats@gmail.com>", "Jonathan Turner <jonathan.d.turner@gmail.com>", "Andrés N. Robalino <andres@androbtech.com>"]
|
|
description = "A shell for the GitHub era"
|
|
license = "MIT"
|
|
edition = "2018"
|
|
readme = "README.md"
|
|
default-run = "nu"
|
|
repository = "https://github.com/nushell/nushell"
|
|
homepage = "https://www.nushell.sh"
|
|
documentation = "https://book.nushell.sh"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[dependencies]
|
|
rustyline = "5.0.3"
|
|
chrono = { version = "0.4.9", features = ["serde"] }
|
|
derive-new = "0.5.8"
|
|
prettytable-rs = "0.8.0"
|
|
itertools = "0.8.0"
|
|
ansi_term = "0.12.1"
|
|
nom = "5.0.0"
|
|
dunce = "1.0.0"
|
|
indexmap = { version = "1.2.0", features = ["serde-1"] }
|
|
chrono-humanize = "0.0.11"
|
|
byte-unit = "3.0.1"
|
|
base64 = "0.10.1"
|
|
futures-preview = { version = "=0.3.0-alpha.18", features = ["compat", "io-compat"] }
|
|
async-stream = "0.1.1"
|
|
futures_codec = "0.2.5"
|
|
num-traits = "0.2.8"
|
|
term = "0.5.2"
|
|
bytes = "0.4.12"
|
|
log = "0.4.8"
|
|
pretty_env_logger = "0.3.1"
|
|
serde = { version = "1.0.100", features = ["derive"] }
|
|
bson = { version = "0.14.0", features = ["decimal128"] }
|
|
serde_json = "1.0.40"
|
|
serde-hjson = "0.9.1"
|
|
serde_yaml = "0.8"
|
|
serde_bytes = "0.11.2"
|
|
getset = "0.0.8"
|
|
language-reporting = "0.4.0"
|
|
app_dirs = "1.2.1"
|
|
csv = "1.1"
|
|
toml = "0.5.3"
|
|
clap = "2.33.0"
|
|
git2 = { version = "0.10.1", default_features = false }
|
|
dirs = "2.0.2"
|
|
glob = "0.3.0"
|
|
ctrlc = "3.1.3"
|
|
surf = "1.0.2"
|
|
url = "2.1.0"
|
|
roxmltree = "0.7.0"
|
|
nom_locate = "1.0.0"
|
|
nom-tracable = "0.4.0"
|
|
unicode-xid = "0.2.0"
|
|
serde_ini = "0.2.0"
|
|
subprocess = "0.1.18"
|
|
mime = "0.3.14"
|
|
pretty-hex = "0.1.0"
|
|
hex = "0.3.2"
|
|
tempfile = "3.1.0"
|
|
semver = "0.9.0"
|
|
which = "2.0.1"
|
|
textwrap = {version = "0.11.0", features = ["term_size"]}
|
|
shellexpand = "1.0.0"
|
|
futures-timer = "0.4.0"
|
|
pin-utils = "0.1.0-alpha.4"
|
|
num-bigint = { version = "0.2.3", features = ["serde"] }
|
|
bigdecimal = { version = "0.1.0", features = ["serde"] }
|
|
natural = "0.3.0"
|
|
serde_urlencoded = "0.6.1"
|
|
sublime_fuzzy = "0.5"
|
|
trash = "1.0.0"
|
|
|
|
regex = {version = "1", optional = true }
|
|
neso = { version = "0.5.0", optional = true }
|
|
crossterm = { version = "0.10.2", optional = true }
|
|
syntect = {version = "3.2.0", optional = true }
|
|
onig_sys = {version = "=69.1.0", optional = true }
|
|
heim = {version = "0.0.8", optional = true }
|
|
battery = {version = "0.7.4", optional = true }
|
|
rawkey = {version = "0.1.2", optional = true }
|
|
clipboard = {version = "0.5", optional = true }
|
|
ptree = {version = "0.2" }
|
|
image = { version = "0.22.2", default_features = false, features = ["png_codec", "jpeg"], optional = true }
|
|
|
|
[features]
|
|
default = ["textview", "sys", "ps"]
|
|
raw-key = ["rawkey", "neso"]
|
|
textview = ["syntect", "onig_sys", "crossterm"]
|
|
binaryview = ["image", "crossterm"]
|
|
sys = ["heim", "battery"]
|
|
ps = ["heim"]
|
|
# trace = ["nom-tracable/trace"]
|
|
all = ["raw-key", "textview", "binaryview", "sys", "ps", "clipboard"]
|
|
|
|
[dependencies.rusqlite]
|
|
version = "0.20.0"
|
|
features = ["bundled", "blob"]
|
|
|
|
[dev-dependencies]
|
|
pretty_assertions = "0.6.1"
|
|
|
|
[build-dependencies]
|
|
toml = "0.5.3"
|
|
serde = { version = "1.0.101", features = ["derive"] }
|
|
|
|
[lib]
|
|
name = "nu"
|
|
path = "src/lib.rs"
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_inc"
|
|
path = "src/plugins/inc.rs"
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_sum"
|
|
path = "src/plugins/sum.rs"
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_average"
|
|
path = "src/plugins/average.rs"
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_embed"
|
|
path = "src/plugins/embed.rs"
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_add"
|
|
path = "src/plugins/add.rs"
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_edit"
|
|
path = "src/plugins/edit.rs"
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_str"
|
|
path = "src/plugins/str.rs"
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_skip"
|
|
path = "src/plugins/skip.rs"
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_match"
|
|
path = "src/plugins/match.rs"
|
|
required-features = ["regex"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_sys"
|
|
path = "src/plugins/sys.rs"
|
|
required-features = ["sys"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_ps"
|
|
path = "src/plugins/ps.rs"
|
|
required-features = ["ps"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_tree"
|
|
path = "src/plugins/tree.rs"
|
|
required-features = ["tree"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_binaryview"
|
|
path = "src/plugins/binaryview.rs"
|
|
required-features = ["binaryview"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_textview"
|
|
path = "src/plugins/textview.rs"
|
|
required-features = ["textview"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_docker"
|
|
path = "src/plugins/docker.rs"
|
|
required-features = ["docker"]
|
|
|
|
[[bin]]
|
|
name = "nu"
|
|
path = "src/main.rs"
|