1#![cfg_attr(
3 feature = "with-tokio",
4 doc = "With Tokio, the [`AsyncCommandGroup`] trait extends [`tokio::process::Command`](::tokio::process::Command)."
5)]
6#![doc = "\n"]
7#![cfg_attr(
8 unix,
9 doc = "On Unix, the [`UnixChildExt`] trait additionally provides support for sending signals to processes and process groups (it’s implemented on this crate’s [`GroupChild`],"
10)]
11#![cfg_attr(
12 all(unix, feature = "with-tokio"),
13 doc = "[`AsyncGroupChild`], Tokio’s [`Child`](::tokio::process::Child)"
14)]
15#).")]
16#![doc(html_favicon_url = "https://watchexec.github.io/logo:command-group.svg")]
17#![doc(html_logo_url = "https://watchexec.github.io/logo:command-group.svg")]
18#![warn(missing_docs)]
19
20pub mod stdlib;
21
22#[cfg(unix)]
23mod unix_ext;
24
25#[cfg(feature = "with-tokio")]
26pub mod tokio;
27
28pub mod builder;
29
30#[cfg(windows)]
31pub(crate) mod winres;
32
33#[cfg(unix)]
34#[doc(inline)]
35pub use crate::unix_ext::UnixChildExt;
36#[cfg(unix)]
37#[doc(no_inline)]
38pub use nix::sys::signal::Signal;
39
40#[doc(inline)]
41pub use crate::stdlib::child::GroupChild;
42pub use crate::stdlib::CommandGroup;
43
44#[cfg(feature = "with-tokio")]
45#[doc(inline)]
46pub use crate::tokio::child::AsyncGroupChild;
47#[cfg(feature = "with-tokio")]
48pub use crate::tokio::AsyncCommandGroup;