Expand description
rust-expect-macros: Procedural macros for rust-expect
This crate provides compile-time macros for the rust-expect terminal automation library:
patterns!- Define pattern sets for expect operationsregex!- Compile-time validated regex patternsdialog!- Define interactive dialog scriptstimeout!- Parse timeout duration specifications
§Example: Pattern Matching
ⓘ
use rust_expect_macros::patterns;
let patterns = patterns! {
"login:",
"password:",
regex(r"\$\s*$"),
};§Example: Dialog Script
ⓘ
use rust_expect_macros::dialog;
let script = dialog! {
expect "login:";
sendln "admin";
expect "password:";
sendln "secret";
expect_re r"\$\s*$"
};§Example: Validated Regex
ⓘ
use rust_expect_macros::regex;
// Compile-time validated regex
let prompt = regex!(r"^\w+@\w+:\S+\$\s*$");§Example: Human-Readable Timeout
ⓘ
use rust_expect_macros::timeout;
let duration = timeout!(5 s);
let long_timeout = timeout!(2 m + 30 s);