lotabout.skim/Cargo.toml
LoricAndre f2ca01e187
feat!: feature-gate listen and image to allow opting out (#1103)
* feat!: feature-gate listen and image to allow opting out

This is breaking since disabling the default features now also disables
those. It is NOT breaking for cli users, only for library ones.

* fix: add warn on listener transfer failure
2026-06-29 15:35:50 +02:00

150 lines
4.2 KiB
TOML

[package]
name = "skim"
version = "4.10.0"
authors = ["Loric ANDRE", "Zhang Jinzhou <lotabout@gmail.com>"]
description = "Fuzzy Finder in rust!"
documentation = "https://docs.rs/skim"
homepage = "https://github.com/skim-rs/skim"
repository = "https://github.com/skim-rs/skim"
readme = "README.md"
keywords = ["fuzzy", "menu", "util"]
license = "MIT"
edition = "2024"
rust-version = "1.91"
default-run = "sk"
[lib]
name = "skim"
path = "src/lib.rs"
[[bin]]
name = "sk"
path = "src/bin/main.rs"
required-features = ["cli"]
[features]
# Default is destined to the CLI, not to library usage.
default = ["cli", "frizbee", "image", "listen"]
# Everything needed to use skim as a cli (argument parsing, shell integrations...). This should not be needed for most libraries.
cli = ["dep:clap", "dep:clap_complete", "dep:clap_complete_nushell", "dep:shlex", "dep:env_logger", "dep:clap_mangen"]
# Include frizbee as a matching algorithm
frizbee = ["dep:frizbee"]
# Enable image previews (renders the preview argument as an image)
image = ["dep:image", "dep:ratatui-image"]
# Enable the IPC socket (--listen / --remote), driving skim from other processes
listen = ["dep:interprocess", "dep:ron", "dep:serde"]
# Enable gungraun (Valgrind-based) benchmarks
gungraun = ["dep:gungraun"]
[profile.release]
lto = true
codegen-units = 1
opt-level = 2
strip = true
# Kept for compatibility
[profile.dist]
inherits = "release"
[profile.release-debug]
inherits = "release"
debug = true
strip = false
[lints.rust]
missing_docs = "warn"
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(coverage, coverage_nightly)'] }
[lints.clippy]
pedantic = { level = "warn", priority = -1 }
incompatible_msrv = "warn"
collapsible_match = "allow"
default_trait_access = "allow"
[dependencies]
ansi-to-tui = "8.0.1"
assert_enum_variants = "0.1.2"
clap = { version = "4.6.1" , optional = true, features = ["cargo", "derive", "unstable-markdown"] }
clap_complete = { version = "4.6.5", optional = true }
clap_complete_nushell = { version = "4.6.0", optional = true }
clap_mangen = { version = "0.3.0", optional = true }
color-eyre = "0.6.5"
# Crossterm's version is selected by ratatui
crossterm = { version = ">=0.0.0", features = ["event-stream", "use-dev-tty", "libc"] }
derive_builder = "0.20.2"
derive_more = { version = "2.1.1", features = ["debug", "eq"] }
env_logger = { version = "0.11.10", optional = true, features = ["humantime"] }
futures = "0.3.32"
gungraun = { version = "0.19.1", optional = true }
image = { version = "0.25.10", optional = true }
indexmap = "2.13.1"
interprocess = { version = "2.4.2", features = ["tokio"], optional = true }
kanal = "0.1.1"
log = "0.4.31"
memchr = "2.8.1"
mimalloc = { version = "0.1.48", features = ["v3"] }
nix = { version = "0.31.3", features = ["fs", "poll"] }
portable-pty = "0.9.0"
ratatui = "0.30.0"
ratatui-image = { version = "11.0.4", features = ["image-defaults", "crossterm"], default-features = false, optional = true }
regex = "1.12.3"
roff = "1.1.1"
ron = { version = "0.12.1", optional = true }
serde = { version = "1.0.228", features = ["derive"], optional = true }
shell-quote = "0.7.2"
shlex = { version = "2.0.1", optional = true }
tempfile = "3.27.0"
thiserror = "2.0.18"
thread_local = "1.1.9"
tokio = { version = "1.52.3", features = ["macros", "net", "rt-multi-thread", "sync", "time", "tokio-macros"] }
tokio-util = "0.7.18"
tui-term = "0.3.4"
unicode-display-width = "0.3.0"
unicode-normalization = "0.1.25"
which = "8.0.2"
[target.'cfg(any(target_arch = "x86_64", target_arch = "aarch64"))'.dependencies]
frizbee = { version = "=0.9.0", optional = true }
[build-dependencies]
cfg_aliases = "0.2.1"
[dev-dependencies]
criterion = { version = "0.8.2", features = ["async_tokio"] }
gnuplot = "0.0.46"
insta = "1.47"
rand = "0.10.0"
serde_json = { version = "=1.0.150" }
serial_test = "=3.5.0"
[[bench]]
name = "read_and_match"
harness = false
[[bench]]
name = "filter"
harness = false
[[bench]]
name = "partial"
harness = false
[[bench]]
name = "matcher_micro"
harness = false
[[bench]]
name = "gungraun"
harness = false
required-features = ["gungraun"]
[[bench]]
name = "cli"
harness = false
bench = false
[package.metadata.wix]
upgrade-guid = "6DDAED06-EBE2-41C4-94F5-CB03F2A4B92E"
path-guid = "05D1A327-19E0-4C82-B5EC-6B28E40C691B"
license = false
eula = false