# `MingaEditor.Shell.Identity`
[🔗](https://github.com/jsmestad/minga/blob/main/lib/minga_editor/shell/identity.ex#L1)

Stable registry identity for a shell registration.

Shell ids are user-facing names that extension sources may unregister and later reuse. Runtime state and asynchronous renderer snapshots use this identity to prove they still belong to the currently registered shell before they are restored or written back.

# `t`

```elixir
@type t() :: %MingaEditor.Shell.Identity{
  generation: non_neg_integer(),
  module: module(),
  source: MingaEditor.Shell.Entry.source()
}
```

# `matches?`

```elixir
@spec matches?(t(), MingaEditor.Shell.Entry.t()) :: boolean()
```

Returns true when the identity still refers to the registry entry.

# `new`

```elixir
@spec new(MingaEditor.Shell.Entry.t()) :: t()
```

Builds an identity from a registry entry.

---

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