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

plan.planner.Planner

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.planner
Package
libtmux
Source
crates/libtmux/src/plan/planner.rs
enum plan.planner.Planner
enumoverload [source]
enumoverload [source]
enum plan.planner.Planner

How a plan is grouped into tmux invocations.

Examples

use libtmux::plan::{Plan, Planner, SendKeys, SplitWindow};
use libtmux::WindowId;
let window: WindowId = "@1".parse()?;
let mut plan = Plan::new();
let pane = plan.add(SplitWindow::new(window).focus());
plan.add(SendKeys::new(pane).text("vim").enter());
plan.add(SendKeys::new(pane).text(":e .").enter());
// The same three operations, grouped three ways.
assert_eq!(Planner::Sequential.steps(&plan).len(), 3);
assert_eq!(Planner::Folding.steps(&plan).len(), 2);
assert_eq!(Planner::Marked.steps(&plan).len(), 1);

6 declared, 0 inherited

Members

  • explain method Group a plan and say why each invocation is separate.
  • steps_bounded method Group a plan, but never share an invocation across a boundary.
  • Folding constant Share one invocation between neighbouring operations that can.
  • Marked constant Also share a pane creation with the operations that decorate it.
  • Sequential constant One tmux invocation per operation.
  • steps method Group a plan into the invocations it will dispatch as.
Esc

Type to search.