# `Minga.Language.Highlight.Span`
[🔗](https://github.com/jsmestad/minga/blob/main/lib/minga/language/highlight/span.ex#L1)

A highlight span representing a styled region of text.

Spans are produced by both tree-sitter (via the parser Port) and LSP
semantic tokens. They share this common shape so the highlight sweep
can merge them by layer priority without caring about the source.

The `layer` field controls precedence: higher layers override lower ones
when spans overlap. Tree-sitter uses layer 0-1, LSP semantic tokens
use layer 2.

# `t`

```elixir
@type t() :: %Minga.Language.Highlight.Span{
  capture_id: non_neg_integer(),
  end_byte: non_neg_integer(),
  layer: non_neg_integer(),
  pattern_index: non_neg_integer(),
  start_byte: non_neg_integer()
}
```

A highlight span.

# `new`

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

Creates a new highlight span.

---

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