From: Jean Privat Date: Sat, 17 Oct 2015 02:34:24 +0000 (-0400) Subject: highlight: add flag `include_whole_lines` X-Git-Tag: v0.7.9~27^2~3 X-Git-Url: http://nitlanguage.org highlight: add flag `include_whole_lines` Signed-off-by: Jean Privat --- diff --git a/src/highlight.nit b/src/highlight.nit index d2be8d8..424824f 100644 --- a/src/highlight.nit +++ b/src/highlight.nit @@ -59,6 +59,14 @@ class HighlightVisitor # Default: false. var include_loose_tokens = false is writable + # When highlighting a node, the first and the last lines are fully included. + # + # If the highlighted node starts (or ends) in the middle of a line, + # this flags forces the whole line to be highlighted. + # + # Default: false + var include_whole_lines = false is writable + # The entry-point of the highlighting. # Will fill `html` with the generated HTML content. fun enter_visit(n: ANode) @@ -84,6 +92,11 @@ class HighlightVisitor if l.next_looses.not_empty then l = l.next_looses.last end + if include_whole_lines then + f = f.first_real_token_in_line + l = l.last_real_token_in_line + end + htmlize(f, l) end