this logic seems wrong. There are two cases to consider (notionally - you don't need separate code paths to handle the case)

1. statement is on one line, in which case, you need to color it from startCol to endCol
2. statement is on multiple lines in which case you need to color the first line from startCol to end of line, the last line from 1 to endCol and all remaining lines from 1 to end of line. 

In your patch you are always coloring to the end of the line (wrong) and using startCol for subsequent lines (also wrong). 

Do you agree?