fn build_error_diagnostic(
byte_range: Range<usize>,
message: String,
rope: &Rope,
) -> DiagnosticExpand description
Build an error-severity LSP Diagnostic for byte_range in rope.
Both LSP diagnostic flows always emit ERROR; warnings come from the
per-keystroke parse path via to_lsp below.