# `Minga.Buffer.Span`
[🔗](https://github.com/jsmestad/minga/blob/main/lib/minga/buffer/span.ex#L1)

Represents a resolved half-open span in document text.

Most editor code should talk in positions and selections. A span is the internal resolved shape used once a selection is ready to read or edit text.

# `point`

```elixir
@type point() :: Minga.Buffer.Position.point()
```

# `t`

```elixir
@type t() :: %Minga.Buffer.Span{start: point(), stop: point()}
```

# `between`

```elixir
@spec between(point(), point()) :: t()
```

Builds a span from two document points.

# `characterwise`

```elixir
@spec characterwise(String.t(), point(), point()) :: t()
```

Builds a characterwise span that includes the character at the final point.

# `delete`

```elixir
@spec delete(String.t(), t()) :: String.t()
```

Removes the text covered by a span.

# `slice`

```elixir
@spec slice(String.t(), t()) :: String.t()
```

Returns the text covered by a span.

---

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