# `MingaEditor.DisplayList.Cursor`
[🔗](https://github.com/jsmestad/minga/blob/main/lib/minga_editor/display_list.ex#L59)

Cursor state: position and shape as a single unit.

Used by `WindowFrame` (optional, nil for non-active windows) and
`Frame` (always present). Bundling position and shape prevents
them from getting out of sync.

# `shape`

```elixir
@type shape() :: :block | :beam | :underline
```

# `t`

```elixir
@type t() :: %MingaEditor.DisplayList.Cursor{
  col: non_neg_integer(),
  row: non_neg_integer(),
  shape: shape()
}
```

# `new`

```elixir
@spec new(non_neg_integer(), non_neg_integer(), shape()) :: t()
```

Creates a cursor at the given position with the given shape.

---

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