# plan.Plan.add

- **Module:** plan.Plan
- **Package:** libtmux
- **Language:** Rust
- **Kind:** method
- **Source:** https://github.com/libtmux/libtmux-rs/blob/8a648c0894dfffc9303583f753b6c8ae01f2fe76/crates/libtmux/src/plan.rs#L900
- **Page:** https://libtmux.org/reference/rs/plan-plan-add/

```
plan.Plan.add(mut, operation: O) -> O::Creates
```

Record one operation and return a handle to what it creates.

## Example

```rust
use libtmux::plan::{Plan, SplitWindow};
use libtmux::WindowId;

let mut plan = Plan::new();
let pane = plan.add(SplitWindow::new("@1".parse::<WindowId>()?));
assert_eq!(pane.step(), 0);
```
