Looks very nice :)
I've started one by myself long time ago but give up as soon as it comes to get it work on Linux canvases (the whole keyevents were broken). It was able to load the whole MaxIDE Source within 70ms (including highlighting).
The trick for fast highlighting is just to calculate the visible lines instead of highlighting the total amount of lines.
Just as a proof ;)

and
I've started one by myself long time ago but give up as soon as it comes to get it work on Linux canvases (the whole keyevents were broken). It was able to load the whole MaxIDE Source within 70ms (including highlighting).
The trick for fast highlighting is just to calculate the visible lines instead of highlighting the total amount of lines.
Just as a proof ;)

and