def finding

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

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/finding.bend as Lint
import bolt@1.27.0.0/src/codes.bend as Codes
import bolt@1.27.0.0/src/config.bend as Config
import bolt@1.27.0.0/src/lsp/enc.bend as Enc

87# a graded lint finding as a diagnostic: an error or a warning by its level,
88# its stable code, and bolt(group:slug) as the source
89def finding(cc: Enc.Cols, gg: Lint.Graded) -> J.Json:
90  Lint.Graded{level, Lint.Finding{path, line, col, len, +rule, msg}} = gg
91  Ezjson.obj([("range", finding_range(cc, line, col, len)),
92    ("severity", J.JNum{U32.show(Bool.pick(U32, Config.is_error(level), 1, 2))}),
93    ("code", J.JStr{Codes.code(rule)}), ("source", J.JStr{Codes.source(rule)}), ("message", J.JStr{msg})])

Uses (14)

Used by (1)