# `MingaEditor.State.Highlighting`
[🔗](https://github.com/jsmestad/minga/blob/main/lib/minga_editor/state/highlighting.ex#L1)

Groups syntax-highlighting fields from EditorState.

Tracks per-buffer highlight data, a monotonic version counter for
invalidation, the mapping from buffer PIDs to parser buffer IDs
(monotonically incrementing u32s), and LRU timestamps for inactive
tree eviction.

Highlight spans are stored per-buffer in `highlights`. There is no
separate "current" field; the active buffer's highlight is just
`Map.get(highlights, active_pid)`.

# `t`

```elixir
@type t() :: %MingaEditor.State.Highlighting{
  buffer_ids: %{required(pid()) =&gt; non_neg_integer()},
  highlights: %{required(pid()) =&gt; MingaEditor.UI.Highlight.t()},
  last_active_at: %{required(pid()) =&gt; integer()},
  next_buffer_id: non_neg_integer(),
  reverse_buffer_ids: %{required(non_neg_integer()) =&gt; pid()},
  syntax_overrides: %{required(pid()) =&gt; MingaEditor.UI.Theme.syntax()},
  version: non_neg_integer()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
