Prerelease This site documents an alpha of libtmux. Its structure, URLs and APIs are subject to change.

Rust API

Rust documentation

server.Server.chain

Rust

View as Markdown

Module
server
Declared in
Server
Package
libtmux
Source
crates/libtmux/src/server.rs
Other languages
Python TypeScript Go Java.NETC++ Swift
chain ( self , chain : CommandChain ) → Result<CommandResult, Error>
method [source]
method [source]
chain

Dispatch several commands as one tmux a \; b invocation.

One process, one exit status, one merged stdout. tmux runs the chain up to the first failure and drops the remainder, so this trades the ability to tell *which* command failed for a single round trip. The merged result is identical whichever member failed: use it when the commands succeed or fail as a unit, and Server::cmd when you need to know where a failure happened.

Errors

Returns an error when the process cannot be started, captured, awaited, or is cancelled by timeout or shutdown. A command tmux refuses is reported through the returned CommandResult , not as an error.

Examples

use libtmux::{Command, CommandChain};
let server = libtmux::Server::builder()
.socket_path("/tmp/libtmux-rs-test/chain-example-absent.sock")
.build()?;
let chain = CommandChain::new(Command::new("list-sessions"))
.then(Command::new("list-panes"));
let result = server.chain(chain).await?;
assert!(result.exit_code().is_some());
server.shutdown().await?;
In other ports Run several commands in one tmux invocation

0 declared, 0 inherited

Esc

Type to search.