# Highlight a AST element.
fun highlight_node(n: ANode)
do
n.parentize_tokens
var f
var l
if n isa Token then
f = n
l = n
else
assert n isa Prod
f = n.first_token
if f == null then return
l = n.last_token
if l == null then return
end
if include_loose_tokens then
if f.prev_looses.not_empty then f = f.prev_looses.first
if l.next_looses.not_empty then l = l.next_looses.last
end
var line = first_line
if line != null then
while f.location.line_start < line do
f = f.next_token
if f == null then return
end
end
line = last_line
if line != null then
while l.location.line_end > line do
l = l.prev_token
if l == null then return
end
end
if include_whole_lines then
f = f.first_real_token_in_line
l = l.last_real_token_in_line
end
do_highlight(f, l)
end
src/highlight.nit:54,2--100,4