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

plan.Plan

Rust
  • Python Unavailable
  • Ruby Unavailable
  • Lua Unavailable
  • TypeScript Unavailable
  • Rust
  • Go Unavailable
  • Java Unavailable
  • .NET Unavailable
  • C++ Unavailable
  • Swift Unavailable

View as Markdown

Module
plan
Package
libtmux
Source
crates/libtmux/src/plan.rs
struct plan.Plan
structoverload [source]
structoverload [source]
struct plan.Plan

Operations recorded but not yet run.

Examples

use libtmux::plan::{Plan, RenameWindow, SendKeys};
use libtmux::{PaneId, WindowId};
let mut plan = Plan::new();
plan.add(SendKeys::new("%1".parse::<PaneId>()?).text("clear").enter());
plan.add(RenameWindow::new("@1".parse::<WindowId>()?, "ready"));
// Nothing has run: the plan can be read first.
let rendered = plan.preview();
assert_eq!(rendered.len(), 2);
assert!(rendered[0].as_ref().is_some_and(|c| c.summary().to_string().contains("send-keys")));

10 declared, 0 inherited

Members

  • preview method Render every operation without running any of them.
  • add method Record one operation and return a handle to what it creates.
  • chain method Record an operation that is allowed to share a tmux invocation.
  • is_empty method Whether nothing is recorded.
  • len method How many operations are recorded.
  • new method Start an empty plan.
  • run method Run this plan, grouping it with planner.
  • run_over_control_mode method Run this plan over an open control-mode connection.
  • steps method The recorded operations, in order.
  • validate method Check every step before a run can change tmux state.
Esc

Type to search.