[package]
name = "diffr-cli"
description = "Structural diffs with a streaming API and interactive terminal frontend."
repository = "https://github.com/devdotfast/diffr"
homepage = "https://github.com/devdotfast/diffr"
license = "MIT"
version = "0.1.1"
authors = ["dev.fast"]
keywords = ["diff", "syntax"]
categories = ["development-tools", "command-line-utilities", "parser-implementations"]
edition = "2021"
rust-version = "1.85.0"
include = [
"/build.rs",
"/src/",
"/wit/",
"/plugins/",
"/vendored_parsers/highlights/*.scm",
"/vendored_parsers/*-src/**/*.c",
"/vendored_parsers/*-src/**/*.h",
"/LICENSE",
"/README.md",
]
[dependencies]
git2 = { version = "0.20", default-features = false }
regex = "1.10.4"
clap = { version = "4.0.0", features = ["cargo", "env", "wrap_help", "string"] }
typed-arena = "2.0.2"
rustc-hash = "2.0.0"
strsim = "0.11.0"
lazy_static = "1.4.0"
libc = "0.2.108"
log = "0.4.14"
pretty_env_logger = "0.5.0"
radix-heap = "0.4.2"
imara-diff = { version = "0.2.0", default-features = false }
rayon = "1.7.0"
tokio = { version = "1", default-features = false, features = ["rt-multi-thread", "time", "sync"] }
tree_magic_mini = "3.2.0"
bumpalo = "3.18.0"
terminal_size = "0.4.1"
glob = "0.3.2"
strum = { version = "0.28", features = ["derive"] }
hashbrown = "0.17.0"
humansize = "2.1.3"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
anyhow = "1.0"
line-numbers = "0.3.0"
smallvec = "1.13.2"
streaming-iterator = "0.1.9"
encoding_rs = "0.8.35"
tree-sitter = "0.26.10"
tree-sitter-language = "0.1.7"
tree-sitter-ada = "0.1.0"
tree-sitter-asm = "0.24.0"
tree-sitter-bash = "0.25.1"
tree-sitter-c = "0.24"
tree-sitter-c-sharp = "0.23.1"
tree-sitter-clojure-orchard = "0.2.5"
tree-sitter-cmake = "0.7.1"
tree-sitter-containerfile = "0.8.0"
tree-sitter-commonlisp = "0.4.1"
tree-sitter-cpp = "0.23.4"
tree-sitter-css = "0.25.0"
tree-sitter-dart-orchard = "0.5.0"
tree-sitter-devicetree = "0.14.1"
tree-sitter-elisp = "1.7.0"
tree-sitter-elixir = "0.3.4"
tree-sitter-elm = "5.8.0"
tree-sitter-erlang = "0.20.0"
tree-sitter-fish = "3.6.0"
tree-sitter-fortran = "0.6.0"
tree-sitter-fsharp = "0.3.0"
tree-sitter-gleam = "1.0.0"
tree-sitter-go = "0.25.0"
tree-sitter-haskell = "0.23.1"
tree-sitter-hcl = "1.1.0"
tree-sitter-html = "0.23.2"
tree-sitter-java-orchard = "0.5.9"
tree-sitter-javascript = "0.25.0"
tree-sitter-json = "0.24.8"
tree-sitter-julia = "0.23.1"
tree-sitter-lua = "0.5"
tree-sitter-make = "1.1.1"
tree-sitter-newick = "1.1.0"
tree-sitter-nix = "0.3.0"
tree-sitter-objc = "3.0.2"
tree-sitter-ocaml = "0.25.0"
tree-sitter-pascal = "0.10.0"
tree-sitter-php = "0.24.0"
tree-sitter-proto = "0.4.0"
tree-sitter-python = "0.25.0"
tree-sitter-qmljs = "0.3.0"
tree-sitter-r = "1.2.0"
tree-sitter-racket = "0.24.7"
tree-sitter-ruby = "0.23.1"
tree-sitter-rust-orchard = "0.16.6"
tree-sitter-scala = "0.26.2"
tree-sitter-scheme = "0.24.7"
tree-sitter-sequel = "0.3.11"
tree-sitter-sfapex = "2.4.0"
tree-sitter-solidity = "1.2.13"
tree-sitter-swift = "0.7.1"
tree-sitter-toml-ng = "0.7.0"
tree-sitter-typescript = "0.23.2"
tree-sitter-verilog = "1.0.3"
tree-sitter-vhdl = "1.4.0"
tree-sitter-xml = "0.7.0"
tree-sitter-yaml = "0.7.0"
tree-sitter-zig = "1.1.2"
ts-parser-perl = "1.2.0"
toml = { version = "0.8", default-features = false, features = ["display", "parse"] }
serde_path_to_error = "0.1.20"
schemars = { version = "1.2.2", features = ["preserve_order"] }
dirs = "5"
toml_edit = "0.25.15"
reqwest = { version = "0.13", default-features = false, features = ["rustls", "json", "http2"] }
serde_yaml_ng = "0.10.0"
jsonschema = { version = "0.56.0", default-features = false }
wasmtime = { version = "34.0.2", default-features = false, features = ["runtime", "cranelift", "component-model", "cache", "parallel-compilation", "std"] }
wasmtime-wasi = { version = "34.0.2", default-features = false }
bytes = "1.12"
diffr-plugin-sdk = { path = "crates/diffr-plugin-sdk", version = "0.1.1" }
diffr-plugin-context = { path = "plugins/context", version = "0.1.1" }
diffr-plugin-deleted-bodies = { path = "plugins/deleted-bodies", version = "0.1.1" }
diffr-plugin-group = { path = "plugins/group", version = "0.1.1" }
diffr-plugin-hide-files = { path = "plugins/hide-files", version = "0.1.1" }
diffr-plugin-removed-runs = { path = "plugins/removed-runs", version = "0.1.1" }
diffr-plugin-summarize = { path = "plugins/summarize", version = "0.1.1" }
diffr-plugin-test-bodies = { path = "plugins/test-bodies", version = "0.1.1" }
wasmtime-wasi-http = { version = "34.0.2", default-features = false }
[target.'cfg(not(any(windows, target_os = "illumos", target_os = "freebsd")))'.dependencies]
tikv-jemallocator = "0.7"
[dev-dependencies]
assert_cmd = "2.0.17"
predicates = "3.1.3"
pretty_assertions = "1.3.0"
tempfile = "3.27.0"
[build-dependencies]
toml = "0.8"
cc = "1.2.48"
rayon = "1.7.0"
version_check = "0.9.4"
[workspace]
members = [
"xtask",
"crates/diffr-plugin-sdk",
"plugins/context",
"plugins/deleted-bodies",
"plugins/group",
"plugins/hide-files",
"plugins/removed-runs",
"plugins/summarize",
"plugins/test-bodies",
"examples/plugins/fixtures",
]
default-members = [
".",
"crates/diffr-plugin-sdk",
"plugins/context",
"plugins/deleted-bodies",
"plugins/group",
"plugins/hide-files",
"plugins/removed-runs",
"plugins/summarize",
"plugins/test-bodies",
"examples/plugins/fixtures",
]
[workspace.metadata.diffr]
wasm-test-exclude = []
[profile.release]
lto = "thin"
[[bin]]
name = "diffr"
path = "src/main.rs"
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/{ version }/diffr-{ version }-{ target }{ archive-suffix }"
pkg-fmt = "tgz"
bin-dir = "{ bin }{ binary-ext }"
[package.metadata.deb]
depends = "$auto"
section = "utility"
priority = "optional"
assets = [
"$auto",
[ "diffr.1", "usr/share/man/man1/", "644" ],
[ "CHANGELOG.md", "usr/share/doc/difftastic/", "644" ],
]
[[test]]
name = "wasm"
required-features = ["wasm-plugin-tests"]
[features]
wasm-plugin-tests = []