equal
deleted
inserted
replaced
278 def hover(id: Protocol.Id, node_pos: Line.Node_Position) |
278 def hover(id: Protocol.Id, node_pos: Line.Node_Position) |
279 { |
279 { |
280 val result = |
280 val result = |
281 for { |
281 for { |
282 (rendering, offset) <- rendering_offset(node_pos) |
282 (rendering, offset) <- rendering_offset(node_pos) |
283 info <- rendering.tooltip(Text.Range(offset, offset + 1)) |
283 info <- rendering.tooltips(Text.Range(offset, offset + 1)) |
284 } yield { |
284 } yield { |
285 val doc = rendering.model.doc |
285 val doc = rendering.model.doc |
286 val range = doc.range(info.range) |
286 val range = doc.range(info.range) |
287 val s = Pretty.string_of(info.info, margin = rendering.tooltip_margin) |
287 val contents = |
288 (range, List(s)) |
288 info.info.map(tree => Pretty.string_of(List(tree), margin = rendering.tooltip_margin)) |
|
289 (range, contents) |
289 } |
290 } |
290 channel.write(Protocol.Hover.reply(id, result)) |
291 channel.write(Protocol.Hover.reply(id, result)) |
291 } |
292 } |
292 |
293 |
293 |
294 |