In the moment `TextBuffer` uses a `Gap` for efficient editing. But this is completely incompatible to the `SyntaxHighlighting`engine which operates on complete lines. This is why at the moment the gap is merged at every key stroke and by that becomes just an obsolete overhead. In long term the TextBuffer should be changed to a rope, and the syntax highlighting system could store total offsets (maybe also in a binary tree structure)