MingaEditor.State.Dired (Minga v0.1.0)

Copy Markdown View Source

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.

Summary

Types

t()

@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
}

Functions

activate(state, dired, buffer_pid)

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

active?(dired)

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

deactivate(dired)

@spec deactivate(t()) :: t()

enter_confirmation(state, ops)

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

exit_confirmation(state)

@spec exit_confirmation(t()) :: t()

set_pending_prefix(state, prefix)

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

Sets the pending keymap prefix node.

update_dired(state, dired)

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