MingaEditor.Session.ChromeState.TabSummary (Minga v0.1.0)

Copy Markdown View Source

User-facing summary for one file tab in workspace chrome.

Tab summaries preserve workspace identity separately from path labels so the same logical path can appear in multiple workspaces without becoming ambiguous in chrome.

Summary

Functions

Builds a tab summary.

Types

draft_state()

@type draft_state() :: :none | :draft | :draft_elsewhere | :conflict

kind()

@type kind() :: :file

t()

@type t() :: %MingaEditor.Session.ChromeState.TabSummary{
  attention?: boolean(),
  dirty?: boolean(),
  draft_state: draft_state(),
  icon: String.t(),
  id: MingaEditor.State.Tab.id(),
  kind: kind(),
  label: String.t(),
  path: String.t() | nil,
  pinned?: boolean(),
  tint_color: non_neg_integer(),
  workspace_id: non_neg_integer()
}

Functions

new(attrs)

@spec new(keyword()) :: t()

Builds a tab summary.