[package] name = "difftastic" description = "A structural diff that understands syntax." repository = "https://github.com/wilfred/difftastic" homepage = "http://difftastic.wilfred.me.uk/" license = "MIT" version = "0.59.0" authors = ["Wilfred Hughes "] keywords = ["diff", "syntax"] categories = ["development-tools", "command-line-utilities", "parser-implementations"] edition = "2021" # Goal: support at least 12 months of Rust versions, and also the Rust # version on Debian stable (see https://tracker.debian.org/pkg/rustc, # currently 1.63). # # Unfortunately tree-sitter 0.20.10 has an MSRV[1] of 1.65, and it has # a bugfix[2] we want. # # 1: https://github.com/tree-sitter/tree-sitter/issues/2669 # 2: https://github.com/Wilfred/difftastic/issues/570 rust-version = "1.65.0" include = [ "/build.rs", "/src/", "/vendored_parsers/highlights/*.scm", "/vendored_parsers/*-src/**/*.c", "/vendored_parsers/*-src/**/*.h", "/vendored_parsers/*-src/**/*.cc", "/LICENSE", "/README.md", ] [package.metadata.binstall] pkg-url = "{ repo }/releases/download/{ version }/difft-{ target }.{ archive-format }" [package.metadata.binstall.overrides.x86_64-pc-windows-msvc] pkg-fmt = "zip" [dependencies] regex = "1.10.4" clap = { version = "3.2.25", features = ["cargo", "env", "wrap_help"] } itertools = "0.11.0" typed-arena = "2.0.2" rustc-hash = "1.1.0" strsim = "0.10.0" lazy_static = "1.4.0" # tree-sitter 0.22.5 uses std::os::fd::AsRawFd, which was added in Rust 1.66. # https://github.com/tree-sitter/tree-sitter/commit/a7a47d561d4e64eaf226f93c4d68076afa67fdda # # tree-sitter 0.22.0 has some API changes which we need to update # difftastic for. tree-sitter = "0.20.10" libc = "0.2.108" log = "0.4.14" pretty_env_logger = "0.5.0" mimalloc = { version = "0.1.28", default-features = false } # Pin libmimalloc-sys due to 0.1.25 producing a huge slowdown in very # large textual files, as discussed in #297. libmimalloc-sys = "=0.1.24" radix-heap = "0.4.2" # ignore 0.4.19 requires scoped_threads, which was added in rust 1.63. ignore = ">= 0.4, < 0.4.19" const_format = "0.2.22" owo-colors = "3.5.0" wu-diff = "0.1.2" rayon = "1.7.0" tree_magic_mini = "3.1.4" # home (used by tree_magic_mini) 0.5.9 has an MSRV of 1.70. home = ">= 0.5, < 0.5.9" # bumpalo 3.15 requires rust 1.65 bumpalo = ">= 3.11, < 3.15" unicode-width = "0.1.9" crossterm = { version = "0.27.0", features = ["windows"] } glob = "0.3.1" strum = { version = "0.25", features = ["derive"] } hashbrown = "0.14.0" humansize = "2.1.3" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" line-numbers = "0.3.0" smallvec = "1.13.2" [dev-dependencies] # assert_cmd 2.0.10 requires predicates 3. # TODO: update. assert_cmd = ">= 2, < 2.0.9" predicates = "2.1.0" pretty_assertions = "1.3.0" [build-dependencies] # TODO: enable parallel mode once MSRV hits 1.61, see discussion in # https://github.com/rust-lang/cc-rs/pull/849 cc = "1.0.83" rayon = "1.7.0" version_check = "0.9.4" [profile.release] lto = "thin" [[bin]] name = "difft" path = "src/main.rs" [features]