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

Dired sub-state: directory listing data, backing buffer, and original entries snapshot.

Tracks the Oil.nvim-style directory buffer state within a workspace.
The `original_entries` field holds the snapshot taken when the buffer
was last populated, used as the baseline for diffing on save.

# `t`

```elixir
@type t() :: %MingaEditor.State.Dired{
  active?: boolean(),
  buffer: pid() | nil,
  confirming?: boolean(),
  dired: Minga.Dired.t() | nil,
  original_entries: [Minga.Dired.entry()],
  pending_ops: [Minga.Dired.operation()],
  pending_prefix: Minga.Keymap.Bindings.node_t() | nil
}
```

# `activate`

```elixir
@spec activate(t(), Minga.Dired.t(), pid()) :: t()
```

# `active?`

```elixir
@spec active?(t()) :: boolean()
```

# `deactivate`

```elixir
@spec deactivate(t()) :: t()
```

# `enter_confirmation`

```elixir
@spec enter_confirmation(t(), [Minga.Dired.operation()]) :: t()
```

# `exit_confirmation`

```elixir
@spec exit_confirmation(t()) :: t()
```

# `set_pending_prefix`

```elixir
@spec set_pending_prefix(t(), Minga.Keymap.Bindings.node_t() | nil) :: t()
```

Sets the pending keymap prefix node.

# `update_dired`

```elixir
@spec update_dired(t(), Minga.Dired.t()) :: t()
```

---

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