Correlation state for editor-level Git workflows and diff presentation.
Repository services own Git data. This value remembers only operations and generated-buffer views whose results are still relevant to this editor.
Summary
Functions
Returns metadata for a generated diff buffer, when registered.
Returns every generated diff buffer associated with one source buffer.
Registers a generated diff buffer and its source content.
Drops every generated diff-view reference to a retired buffer.
Drops a generated diff buffer after it retires.
Types
@type diff_view_info() :: %{ :source_buf => pid() | nil, :git_root => String.t(), :rel_path => String.t(), :staged => boolean(), :line_metadata => [Minga.Core.DiffView.line_meta()], :hunk_lines => [non_neg_integer()], optional(:view_mode) => :unified | :side_by_side, optional(:pane_width) => pos_integer() }
@type t() :: %MingaEditor.State.Git{ diff_views: %{required(pid()) => diff_view_info()} }
Functions
@spec diff_view_info(t(), pid() | nil) :: diff_view_info() | nil
Returns metadata for a generated diff buffer, when registered.
@spec diff_views_for_source(t(), pid()) :: [{pid(), diff_view_info()}]
Returns every generated diff buffer associated with one source buffer.
@spec register_diff_view(t(), pid(), diff_view_info()) :: t()
Registers a generated diff buffer and its source content.
Drops every generated diff-view reference to a retired buffer.
Drops a generated diff buffer after it retires.