# `Minga.RenderModel.Window.DiagnosticRange`
[🔗](https://github.com/jsmestad/minga/blob/main/lib/minga/render_model/window/diagnostic_range.ex#L1)

A diagnostic inline range in display coordinates.

The GUI renders these as underlines (wavy for errors, straight for
warnings, etc.) beneath the affected text. Severity determines the
underline style and color.

# `t`

```elixir
@type t() :: %Minga.RenderModel.Window.DiagnosticRange{
  end_col: non_neg_integer(),
  end_row: non_neg_integer(),
  severity: Minga.Diagnostics.Diagnostic.severity(),
  start_col: non_neg_integer(),
  start_row: non_neg_integer()
}
```

# `from_diagnostics`

```elixir
@spec from_diagnostics(
  [Minga.Diagnostics.Diagnostic.t()],
  non_neg_integer(),
  non_neg_integer()
) :: [
  t()
]
```

Converts diagnostics to display-coordinate ranges for visible lines.

# `from_diagnostics`

```elixir
@spec from_diagnostics(
  [Minga.Diagnostics.Diagnostic.t()],
  non_neg_integer(),
  non_neg_integer(),
  %{required(non_neg_integer()) =&gt; String.t()}
) :: [t()]
```

Converts diagnostics to display-coordinate ranges for visible lines using line text for encoded columns.

---

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