@@ -41,22 +41,19 @@ local function highlight (buffer, namespace, firstline, lastline)
4141 local lastbyte = call_function (" line2byte" , { lastline + 1 }) - 1
4242 local events = rust .get_offsets (contents , firstbyte , lastbyte )
4343 for _ , event in ipairs (events ) do
44- repeat -- Allow continue in for loop
45- local sline , scol = byte2pos (event .first )
46- if sline < firstline then break end
47- local eline , ecol = byte2pos (event .last )
48- if sline < eline then
49- buf_add_highlight (buffer , namespace , event .group , sline - 1 , scol , - 1 )
44+ local sline , scol = byte2pos (event .first )
45+ local eline , ecol = byte2pos (event .last )
46+ if sline < eline then
47+ buf_add_highlight (buffer , namespace , event .group , sline - 1 , scol , - 1 )
48+ sline = sline + 1
49+ while sline < eline do
50+ buf_add_highlight (buffer , namespace , event .group , sline - 1 , 0 , - 1 )
5051 sline = sline + 1
51- while sline < eline do
52- buf_add_highlight (buffer , namespace , event .group , sline - 1 , 0 , - 1 )
53- sline = sline + 1
54- end
55- buf_add_highlight (buffer , namespace , event .group , sline - 1 , 0 , ecol )
56- else
57- buf_add_highlight (buffer , namespace , event .group , sline - 1 , scol , ecol )
5852 end
59- until true
53+ buf_add_highlight (buffer , namespace , event .group , sline - 1 , 0 , ecol )
54+ else
55+ buf_add_highlight (buffer , namespace , event .group , sline - 1 , scol , ecol )
56+ end
6057 end
6158end
6259
0 commit comments