[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.66.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 be # conservative about upgrades to help packagers. # # https://releases.rs/ is a useful website to see when different Rust # versions were released. # # For reference, Debian stable is on 1.63 (see # https://tracker.debian.org/pkg/rustc) but Debian doesn't currently # package difftastic. Other distros are somewhat newer. rust-version = "1.75.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 = "4.0.0", features = ["cargo", "env", "wrap_help", "string"] } typed-arena = "2.0.2" rustc-hash = "2.0.0" strsim = "0.10.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" # ignore does not declare a MSRV, but it's part of ripgrep, which has # a slightly more aggressive MSRV than difftastic. Constrain ignore to # a known-good max version. ignore = ">= 0.4, < 0.4.24" owo-colors = "3.5.0" wu-diff = "0.1.2" rayon = "1.7.0" tree_magic_mini = "3.1.6" bumpalo = "3.16.0" unicode-width = "0.1.9" crossterm = { version = "0.28.0", features = ["windows"] } glob = "0.3.1" strum = { version = "0.26", 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" streaming-iterator = "0.1.9" encoding_rs = "0.8.35" # tree-sitter itself. tree-sitter = "0.24.0" tree-sitter-language = "0.1.3" # tree-sitter parsers that are available on crates.io. tree-sitter-bash = "0.23.3" tree-sitter-c = "0.23.4" tree-sitter-c-sharp = "0.23.1" tree-sitter-cpp = "0.23.4" tree-sitter-css = "0.23.1" tree-sitter-elixir = "0.3.4" tree-sitter-erlang = "0.13.0" tree-sitter-fsharp = "0.1.0" tree-sitter-go = "0.23.4" tree-sitter-haskell = "0.23.1" tree-sitter-html = "0.23.2" tree-sitter-java = "0.23.4" tree-sitter-javascript = "0.23.1" tree-sitter-json = "0.24.8" tree-sitter-julia = "0.23.1" tree-sitter-lua = "0.2.0" tree-sitter-make = "1.1.1" tree-sitter-nix = "0.0.2" tree-sitter-objc = "3.0.2" tree-sitter-ocaml = "0.23.2" tree-sitter-pascal = "0.10.0" tree-sitter-php = "0.23.11" tree-sitter-python = "0.23.5" tree-sitter-ruby = "0.23.1" tree-sitter-rust-orchard = "0.13.0" tree-sitter-scala = "0.23.3" tree-sitter-swift = "0.7.0" tree-sitter-toml-ng = "0.7.0" tree-sitter-typescript = "0.23.2" tree-sitter-verilog = "1.0.3" tree-sitter-xml = "0.7.0" tree-sitter-yaml = "0.7.0" tree-sitter-zig = "1.1.2" [target.'cfg(not(any(target_env = "msvc", target_os = "illumos")))'.dependencies] tikv-jemallocator = "0.6" [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.1.30" rayon = "1.7.0" version_check = "0.9.4" [profile.release] lto = "thin" [[bin]] name = "difft" path = "src/main.rs" [features]