def diagnostic

bolt@1.27.0.0 · src/lsp/proto.bend:66

import bolt@1.27.0.0/src/lsp/proto.bend as Proto
import Base
import emerging-ezjson@1.2.0.0/main.bend as Ezjson
import emerging-ezjson@1.2.0.0/src/value.bend as J
import bolt@1.27.0.0/src/lsp/report.bend as Rep
import bolt@1.27.0.0/src/lsp/enc.bend as Enc

66# the checker gives a line and no columns: a diagnostic covers its whole line
67def diagnostic(+cc: Enc.Cols, dd: Rep.Diag) -> J.Json:
68  Rep.Diag{+line, msg} = dd
69  Ezjson.obj([
70    ("range", Ezjson.obj([("start", position(cc, line, 0)), ("end", position(cc, (line + 1 : U32), 0))])),
71    ("severity", J.JNum{U32.show(1)}), ("source", J.JStr{"bend"}), ("message", J.JStr{msg})])

Uses (10)

Used by (1)