[package]
name = "mprocs"
version = "0.9.3"
description = "TUI for running multiple processes"
repository = "https://github.com/pvolok/mprocs"
authors = ["Pavel Volokitin <pavelvolokitin@gmail.com>"]
license = "MIT"
edition = "2024"
categories = [
  "command-line-interface",
  "command-line-utilities",
  "development-tools",
]
keywords = ["cli", "terminal", "tui", "utility"]
default-run = "mprocs"

include = ["*"]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[[bin]]
name = "mprocs"
path = "bin/mprocs.rs"

[[bin]]
name = "dk"
path = "bin/dekit.rs"

[lib]
name = "lib"
path = "lib.rs"

[dependencies]
anyhow = "1.0.72"
assert_matches = "1.5.0"
base64 = "0.22.0"
clap = { version = "4.3.19", features = ["cargo"] }
clipboard-win = "5.3.1"
dunce = "1.0.4"
# Excluded "textfilter" feature that depends on regex (~0.7 MiB).
flexi_logger = { version = "0.31.2", default-features = false, features = [
  "colors",
] }
futures = { version = "0.3.28" }
indexmap = { version = "2.0.0", features = ["serde"] }
lazy_static = "1.4.0"
libc = "0.2.147"
log = "0.4.19"
mlua = { version = "0.11.1", features = [
  "lua52",
  "vendored",
  "serialize",
  "async",
  "send",
] }
phf = { version = "0.12.1", features = ["macros"] }
serde = { version = "1.0.177", features = ["derive"] }
serde_json = "1.0.138"
serde_yaml = "0.9.25"
tokio = { version = "1", features = ["full"] }
triggered = "0.1.2"
tui-input = { version = "0.15.0", default-features = false }
unicode-segmentation = "1.12.0"
unicode-width = "0.2.2"
which = "8.0.0"
xdg = "3.0.0"
bitflags = { version = "2.3.3", features = ["serde"] }
compact_str = { version = "0.9.0", features = ["serde"] }
bincode = "1.3.3"
tokio-util = { version = "0.7.16", features = ["full"] }
bytes = "1.5.0"
log-panics = { version = "2.1.0", features = ["with-backtrace"] }
scopeguard = "1.2.0"
itoa = "1"
rquickjs = { version = "0.11", features = ["full-async"] }
rustix = { version = "1", features = ["all-apis"] }

[target."cfg(unix)".dependencies]
daemonize = "0.5.0"

[target."cfg(windows)".dependencies]
windows = { version = "0.62", features = [
  "Win32_Foundation",
  "Win32_Security",
  "Win32_Storage_FileSystem",
  "Win32_System",
  "Win32_System_Console",
  "Win32_System_IO",
  "Win32_System_Pipes",
  "Win32_System_Threading",
  "Win32_UI_Input_KeyboardAndMouse",
  "Win32_UI_WindowsAndMessaging",
] }
