equal
deleted
inserted
replaced
45 { |
45 { |
46 /* diagnostics */ |
46 /* diagnostics */ |
47 |
47 |
48 def diagnostics: List[Text.Info[Command.Results]] = |
48 def diagnostics: List[Text.Info[Command.Results]] = |
49 snapshot.cumulate[Command.Results]( |
49 snapshot.cumulate[Command.Results]( |
50 model.doc.text_range, Command.Results.empty, VSCode_Rendering.diagnostics_elements, _ => |
50 model.content.text_range, Command.Results.empty, VSCode_Rendering.diagnostics_elements, _ => |
51 { |
51 { |
52 case (res, Text.Info(_, msg @ XML.Elem(Markup(_, Markup.Serial(i)), body))) |
52 case (res, Text.Info(_, msg @ XML.Elem(Markup(_, Markup.Serial(i)), body))) |
53 if body.nonEmpty => Some(res + (i -> msg)) |
53 if body.nonEmpty => Some(res + (i -> msg)) |
54 |
54 |
55 case _ => None |
55 case _ => None |
59 |
59 |
60 def diagnostics_output(results: List[Text.Info[Command.Results]]): List[Protocol.Diagnostic] = |
60 def diagnostics_output(results: List[Text.Info[Command.Results]]): List[Protocol.Diagnostic] = |
61 { |
61 { |
62 (for { |
62 (for { |
63 Text.Info(text_range, res) <- results.iterator |
63 Text.Info(text_range, res) <- results.iterator |
64 range = model.doc.range(text_range) |
64 range = model.content.doc.range(text_range) |
65 (_, XML.Elem(Markup(name, _), body)) <- res.iterator |
65 (_, XML.Elem(Markup(name, _), body)) <- res.iterator |
66 } yield { |
66 } yield { |
67 val message = Pretty.string_of(body, margin = diagnostics_margin) |
67 val message = Pretty.string_of(body, margin = diagnostics_margin) |
68 val severity = VSCode_Rendering.message_severity.get(name) |
68 val severity = VSCode_Rendering.message_severity.get(name) |
69 Protocol.Diagnostic(range, message, severity = severity) |
69 Protocol.Diagnostic(range, message, severity = severity) |