# `MingaEditor.State.LSP.FormatOperation`
[🔗](https://github.com/jsmestad/minga/blob/main/lib/minga_editor/state/lsp/format_operation.ex#L1)

Lifecycle data for one asynchronous LSP formatting request.

# `t`

```elixir
@type t() :: %MingaEditor.State.LSP.FormatOperation{
  buffer: pid(),
  cancellable_timer: reference(),
  client: pid(),
  encoding: Minga.LSP.PositionEncoding.encoding(),
  ref: reference(),
  spinner_timer: reference(),
  timeout_timer: reference(),
  version: non_neg_integer()
}
```

# `new`

```elixir
@spec new(keyword()) :: t()
```

Builds a formatting operation from captured request data.

# `timer_refs`

```elixir
@spec timer_refs(t()) :: [reference()]
```

Returns every Editor-owned timer reference for this operation.

---

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