GX source diagnostics

Shape

Diagnostics include file, line, column, endLine, endColumn, code, severity, message, and optional fix fields. A fix contains a replacement range and replacement text.

Fixes must be small, deterministic, and safe to apply independently. Formatting-only fixes belong to bus gx fmt.

Coordinates

Diagnostic positions are 1-based UTF-8 source coordinates. line and column point at the first byte of the diagnostic range. endLine and endColumn are exclusive: they point immediately after the last byte in the range.

A diagnostic covering one character at line 3, column 5 ends at line 3, column 6.