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