MingaEditor.Frontend.Emit.Context (Minga v0.1.0)

Copy Markdown View Source

Focused data contract for the emit pipeline.

Contains exactly what the emit stage needs from the render pipeline input, decoupling it from State.t(). The pipeline builds this context in the Emit stage before calling Emit.emit/4.

Summary

Functions

Builds an emit context from editor state or its render-pipeline transfer value.

Types

t()

@type t() :: %MingaEditor.Frontend.Emit.Context{
  acknowledgement_required?: boolean(),
  agent_ui: MingaEditor.Agent.UIState.t(),
  buffers: MingaEditor.State.Buffers.t(),
  capabilities: MingaEditor.Frontend.Capabilities.t(),
  completion: Minga.Editing.Completion.t() | nil,
  config_state: Minga.RenderModel.UI.ConfigState.t() | nil,
  cursor_animate: boolean() | nil,
  editing: MingaEditor.VimState.t(),
  file_tree: MingaEditor.State.FileTree.t(),
  font_registry: MingaEditor.UI.FontRegistry.t(),
  force_keyframe?: boolean(),
  frame_seq: non_neg_integer() | nil,
  git_syncing: boolean(),
  git_toast: MingaEditor.Shell.Traditional.GitToast.t(),
  gui?: boolean(),
  highlight: MingaEditor.State.Highlighting.t(),
  keymap_scope: Minga.Keymap.Scope.scope_name(),
  last_input_seq: non_neg_integer(),
  launchpad: MingaEditor.State.Launchpad.t() | nil,
  layout: MingaEditor.Layout.t(),
  line_spacing: number() | nil,
  link_cursor: boolean(),
  message_store: MingaEditor.UI.Panel.MessageStore.t(),
  notifications: MingaEditor.UI.NotificationCenter.t(),
  port_manager: GenServer.server() | nil,
  search: MingaEditor.State.Search.t(),
  shell: module(),
  shell_id: atom(),
  shell_state: term(),
  sidebar_registry: MingaEditor.Extension.Sidebar.table(),
  status_bar_data: term(),
  surface_placements: [MingaEditor.Layout.SurfaceRegistry.wire_placement()],
  tab_bar: MingaEditor.State.TabBar.t() | nil,
  theme: MingaEditor.UI.Theme.t() | nil,
  title: String.t(),
  viewport: MingaEditor.Viewport.t(),
  windows: MingaEditor.State.Windows.t()
}

Functions

from_editor_state(state)

@spec from_editor_state(MingaEditor.State.t() | MingaEditor.RenderPipeline.Input.t()) ::
  t()

Builds an emit context from editor state or its render-pipeline transfer value.