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
@type draft_state() :: :none | :draft | :draft_elsewhere | :conflict
@type kind() :: :file
@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() }