def stream tokens
formatted_code = @delegate.format tokens
formatted_code += LF unless formatted_code.end_with? LF, HangingEndSpanTagCs
last_lineno = (first_lineno = @start_line) + (formatted_code.count LF) - 1
lineno_format = %(%#{(::Math.log10 last_lineno).floor + 1}i)
formatted_linenos = ((first_lineno..last_lineno).map {|lineno| sprintf lineno_format, lineno } << '').join LF
yield %(<table class="linenotable"><tbody><tr><td class="linenos gl"><pre class="lineno">#{formatted_linenos}</pre></td><td class="code"><pre>#{formatted_code}</pre></td></tr></tbody></table>)
end