On 11 Oct 2019, at 9:02, Jacob Carlborg wrote:
TextMate has always had problems with large files
since the move to
TextMate 2. I think the text rendering is implemented differently
compared to TextMate 1.5.
TextMate 2 got a completely new layout engine that supported
proportional width fonts, indented soft wrap, mixed fonts with different
line heights, folding arbitrary subsets, enabling/disabling soft wrap
for subsets, etc.
As obtaining text metrics is a slow operation, I decided to make it
lazy, which is what has resulted in the unsatisfying behavior with soft
When scrolling through a file, lines will wrap the first time they are
rendered, causing the total height of the document to change, and this
can cause text to “jump around”.
This is worst if opening a file with many long soft wrapped lines, and
then moving to the bottom, because the bottom of the file will then
change after having moved there, and scrolling up is also very confusing
when hitting a line that hasn’t been wrapped yet.
I’ve decided that rather than try to fix this for TextMate 2.0 it is
better to write a new layout engine because the soft wrap issue is not
the only thing I want to address.
I don’t want to say anything that can be interpreted as promises or
pre-announcements, but the new layout engine / text view is what I am
currently working on, and in addition to fixing the lazy layout issue,
performance for large files (as in hundreds of megabytes) is also a high