# `LibTmux.Command`
[🔗](https://github.com/libtmux/libtmux-elixir/blob/b72452c198917433229bdc266a68c163541b6127/lib/libtmux/command.ex#L1)

A command value with separate argv and tmux-text renderers.

Construction performs no I/O. Arguments are bytes without NUL. Rendering
protects command syntax; arguments interpreted as formats still require
`LibTmux.Format`. A command value does not authorize a shared control lane
or establish completion behavior, including configured hooks and aliases.

# `option`

```elixir
@type option() :: {:max_bytes, pos_integer()}
```

A positive byte ceiling for the selected argv or text rendering; encoded output is charged separately.

# `t`

```elixir
@opaque t()
```

Trusted command data without I/O. Format operands need separate encoding before execution.

# `argv`

```elixir
@spec argv(t(), [option()]) :: [binary()]
```

Returns process arguments, preserving terminal semicolons in tmux's argv parser.

# `new`

```elixir
@spec new(String.t(), [binary()], [option()]) :: t()
```

Constructs a trusted command, rejecting invalid arguments and input size.

# `render`

```elixir
@spec render(t(), [option()]) :: binary()
```

Renders one newline-free tmux command line within its encoded byte budget.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
