Presentation state for the traditional tab-based editor shell.
These fields are presentation concerns: they control how the editor
looks and behaves visually, but have no effect on the core editing
model. Each field was migrated from MingaEditor.State as part of
Phase F of the Core/Shell separation.
All set_X/get_X methods that operate on shell fields live here.
MingaEditor.State retains thin wrappers that delegate through
update_shell_state/2 for backward compatibility.
Summary
Types
Git toast shown after a remote operation completes.
Functions
Returns the agent session lifecycle state.
Returns the bottom panel state.
Cancels the nav flash animation.
Cancels the yank flash animation.
Clears the git toast.
Clears the git toast only when its dismissal reference matches.
Clears the transient status message.
Clears the git status panel.
Closes the BEAM Observatory sidebar.
Dismisses the hover popup.
Returns the git status panel data, or nil.
Returns the TUI-only git status view state, or nil.
Returns the git toast, or nil.
Returns the hover popup state, or nil when not showing.
Returns the inline ask store.
Returns the inline edit store.
Returns the active modal overlay value (:none when no modal is open).
Returns the nav flash state, or nil when inactive.
Returns true when the BEAM Observatory sidebar is visible.
Opens the BEAM Observatory sidebar.
Refreshes existing TUI-only git status view state after shared entries change.
Replaces the agent session lifecycle state.
Replaces the bottom panel state.
Sets the git status panel data.
Sets the TUI-only git status view state.
Sets the git toast shown after a remote operation.
Sets the hover popup state.
Replaces the inline ask store.
Replaces the inline edit store.
Replaces the modal overlay value.
Sets the nav flash state.
Stores the latest BEAM Observatory tree data.
Stores process inspection data for the native float popup.
Stores the timer reference for the next BEAM Observatory refresh.
Sets the active native sidebar id.
Sets whether a CUA space leader sequence is pending.
Sets the CUA space leader timer reference.
Sets the transient status message shown in the modeline.
Replaces the tab bar state.
Replaces the which-key popup state.
Sets the yank flash state.
Returns the active native sidebar id, or nil when the renderer should derive one.
Returns true if the given tool should NOT be prompted for installation.
Returns the transient status message, or nil.
Returns the tab bar state, or nil.
Returns the which-key popup state.
Returns the yank flash state, or nil when inactive.
Types
@type git_status_panel() :: MingaEditor.GitStatus.Panel.t()
@type git_status_tui_state() :: struct()
@type git_toast() :: MingaEditor.Frontend.Protocol.GUI.git_toast() | nil
Git toast shown after a remote operation completes.
@type t() :: %MingaEditor.Shell.Traditional.State{ agent: MingaEditor.State.Agent.t(), bottom_panel: MingaEditor.BottomPanel.t(), git_status_panel: git_status_panel() | nil, git_status_tui_state: git_status_tui_state() | nil, git_toast: git_toast(), hover_popup: MingaEditor.HoverPopup.t() | nil, inline_asks: MingaEditor.State.InlineAsk.store(), inline_edits: MingaEditor.State.InlineEdit.store(), modal: MingaEditor.State.ModalOverlay.t(), modeline_click_regions: [ MingaEditor.Shell.Traditional.Modeline.click_region() ], nav_flash: MingaEditor.NavFlash.t() | nil, observatory_data: MingaEditor.Observatory.Data.t() | nil, observatory_inspection: MingaEditor.Observatory.Inspection.t() | nil, observatory_timer: {reference(), reference()} | nil, observatory_visible: boolean(), sidebar_active_id: String.t() | nil, signature_help: MingaEditor.SignatureHelp.t() | nil, space_leader_pending: boolean(), space_leader_timer: reference() | nil, status_msg: String.t() | nil, suppress_tool_prompts: boolean(), tab_bar: MingaEditor.State.TabBar.t() | nil, tab_bar_click_regions: [ MingaEditor.Shell.Traditional.TabBarRenderer.click_region() ], tool_declined: MapSet.t(), tool_prompt_queue: [atom()], warning_popup_timer: reference() | nil, whichkey: MingaEditor.State.WhichKey.t(), yank_flash: MingaEditor.YankFlash.t() | nil }
Functions
@spec agent(t()) :: MingaEditor.State.Agent.t()
Returns the agent session lifecycle state.
@spec bottom_panel(t()) :: MingaEditor.BottomPanel.t()
Returns the bottom panel state.
Cancels the yank flash animation.
Clears the git toast.
Clears the git toast only when its dismissal reference matches.
Clears the transient status message.
Clears the git status panel.
Closes the BEAM Observatory sidebar.
Dismisses the hover popup.
@spec git_status_panel(t()) :: git_status_panel() | nil
Returns the git status panel data, or nil.
@spec git_status_tui_state(t()) :: git_status_tui_state() | nil
Returns the TUI-only git status view state, or nil.
Returns the git toast, or nil.
@spec hover_popup(t()) :: MingaEditor.HoverPopup.t() | nil
Returns the hover popup state, or nil when not showing.
@spec inline_asks(t() | map()) :: MingaEditor.State.InlineAsk.store()
Returns the inline ask store.
@spec inline_edits(t() | map()) :: MingaEditor.State.InlineEdit.store()
Returns the inline edit store.
@spec modal(t()) :: MingaEditor.State.ModalOverlay.t()
Returns the active modal overlay value (:none when no modal is open).
Returns true when the BEAM Observatory sidebar is visible.
Opens the BEAM Observatory sidebar.
Refreshes existing TUI-only git status view state after shared entries change.
@spec set_agent(t(), MingaEditor.State.Agent.t()) :: t()
Replaces the agent session lifecycle state.
@spec set_bottom_panel(t(), MingaEditor.BottomPanel.t()) :: t()
Replaces the bottom panel state.
@spec set_git_status_panel(t(), git_status_panel() | nil) :: t()
Sets the git status panel data.
@spec set_git_status_tui_state(t(), git_status_tui_state() | nil) :: t()
Sets the TUI-only git status view state.
Sets the git toast shown after a remote operation.
@spec set_hover_popup(t(), MingaEditor.HoverPopup.t()) :: t()
Sets the hover popup state.
@spec set_inline_asks(t() | map(), MingaEditor.State.InlineAsk.store()) :: t() | map()
Replaces the inline ask store.
@spec set_inline_edits(t() | map(), MingaEditor.State.InlineEdit.store()) :: t() | map()
Replaces the inline edit store.
@spec set_modal(t(), MingaEditor.State.ModalOverlay.t()) :: t()
Replaces the modal overlay value.
This is a low-level setter for MingaEditor.State.ModalOverlay. Normal
callers should use ModalOverlay.open/3, transition/3, close/1, or
dismiss/1 rather than calling this directly.
@spec set_observatory_data(t(), MingaEditor.Observatory.Data.t() | nil) :: t()
Stores the latest BEAM Observatory tree data.
@spec set_observatory_inspection(t(), MingaEditor.Observatory.Inspection.t() | nil) :: t()
Stores process inspection data for the native float popup.
Stores the timer reference for the next BEAM Observatory refresh.
Sets the active native sidebar id.
Sets whether a CUA space leader sequence is pending.
Sets the CUA space leader timer reference.
Sets the transient status message shown in the modeline.
@spec set_tab_bar(t(), MingaEditor.State.TabBar.t() | nil) :: t()
Replaces the tab bar state.
@spec set_whichkey(t(), MingaEditor.State.WhichKey.t()) :: t()
Replaces the which-key popup state.
@spec set_yank_flash(t(), MingaEditor.YankFlash.t()) :: t()
Sets the yank flash state.
Returns the active native sidebar id, or nil when the renderer should derive one.
Returns true if the given tool should NOT be prompted for installation.
A tool is skipped when it's already declined this session, already installed, currently being installed, or already in the prompt queue.
Returns the transient status message, or nil.
@spec tab_bar(t()) :: MingaEditor.State.TabBar.t() | nil
Returns the tab bar state, or nil.
@spec whichkey(t()) :: MingaEditor.State.WhichKey.t()
Returns the which-key popup state.
@spec yank_flash(t()) :: MingaEditor.YankFlash.t() | nil
Returns the yank flash state, or nil when inactive.