[package]
authors = ["David Peter <mail@david-peter.de>"]
categories = ["command-line-utilities"]
description = "A cat(1) clone with wings."
homepage = "https://github.com/sharkdp/bat"
license = "MIT/Apache-2.0"
name = "bat"
repository = "https://github.com/sharkdp/bat"
version = "0.22.1"
exclude = ["assets/syntaxes/*", "assets/themes/*"]
build = "build.rs"
edition = '2018'

[features]
default = ["application"]
# Feature required for bat the application. Should be disabled when depending on
# bat as a library.
application = [
    "bugreport",
    "build-assets",
    "git",
    "minimal-application",
]
# Mainly for developers that want to iterate quickly
# Be aware that the included features might change in the future
minimal-application = [
    "atty",
    "clap",
    "dirs-next",
    "paging",
    "regex-onig",
    "wild",
]
git = ["git2"] # Support indicating git modifications
paging = ["shell-words", "grep-cli"] # Support applying a pager on the output
build-assets = ["syntect/yaml-load", "syntect/plist-load", "regex", "walkdir"]

# You need to use one of these if you depend on bat as a library:
regex-onig = ["syntect/regex-onig"] # Use the "oniguruma" regex engine
regex-fancy = ["syntect/regex-fancy"] # Use the rust-only "fancy-regex" engine

[dependencies]
atty = { version = "0.2.14", optional = true }
ansi_term = "^0.12.1"
ansi_colours = "^1.1"
bincode = "1.0"
console = "0.15.1"
flate2 = "1.0"
once_cell = "1.13"
thiserror = "1.0"
wild = { version = "2.1", optional = true }
content_inspector = "0.2.4"
encoding = "0.2"
shell-words = { version = "1.1.0", optional = true }
unicode-width = "0.1.9"
globset = "0.4"
serde = { version = "1.0", features = ["derive"] }
serde_yaml = "0.8"
semver = "1.0"
path_abs = { version = "0.5", default-features = false }
clircle = "0.3"
bugreport = { version = "0.5.0", optional = true }
dirs-next = { version = "2.0.0", optional = true }
grep-cli = { version = "0.1.6", optional = true }
regex = { version = "1.6.0", optional = true }
walkdir = { version = "2.0", optional = true }
bytesize = { version = "1.1.0" }

[dependencies.git2]
version = "0.15"
optional = true
default-features = false

[dependencies.syntect]
version = "5.0.0"
default-features = false
features = ["parsing"]

[dependencies.clap]
version = "3.2.20"
optional = true
default-features = false
features = ["std", "suggestions", "color", "wrap_help", "cargo"]

[dev-dependencies]
assert_cmd = "2.0.4"
serial_test = "0.6.0"
predicates = "2.1.1"
wait-timeout = "0.2.0"
tempfile = "3.3.0"

[target.'cfg(unix)'.dev-dependencies]
nix = { version = "0.24.2", default-features = false, features = ["term"] }

[build-dependencies]
clap = { version = "3.2.20", optional = true }

[profile.release]
lto = true
codegen-units = 1
