Broken Code Highlighting in KDevelop
Christoph Cullmann
christoph at cullmann.io
Wed Feb 17 15:11:58 GMT 2021
On 2021-02-17 09:40, David Redondo wrote:
> Hi,
>
> recently files began to start losing their highlighting when editing in
> KDevelop. Symptoms are as follows:
> - After inserting a new line anywhere in a document, everything below
> the new
> line will lose its highlighting
> - When writing in the new line, the new code is highlighted correctly
> - Removing the new line restores correct highlighting in the rest of
> the file
>
> Yesterday after an older KDevelop showed the same behavior, I bisected
> fde333c87353e7c7424c7bce5cbc2f984bc868c1 in KTextEditor to have
> introduced
> this. Nothing there immediately appears to me to cause this.
> With the power of debug statements I confirmed that KDevelop reaches
> the
> "applyHighlighting" function
> (https://invent.kde.org/kdevelop/kdevelop/-/blob/
> master/kdevplatform/language/highlighting/codehighlighting.cpp#L519)
> and is
> not hitting any of the early returns. Then follows some range logic and
> I did
> see that the setAttribute calls at the end are also happening.
>
> I'm not sure if the KTextEditor change surfaced a bug in KDevelop
> (somewhere
> in the range manipulation?) or if something in KTextEditor is not
> working
> correctly.
>
No idea.
I only know that without these fix, you can run into invalid
hashed/cached ranges,
see the matching unit test
https://invent.kde.org/frameworks/ktexteditor/-/commit/eb42f8903da9b04a070ecb20a9ec42686e27d7b1
Perhaps this change is not 100% correct, but then somebody must try
to figure out why ;=)
Greetings
Christoph
> Best Regards,
> David
--
Ignorance is bliss...
https://cullmann.io | https://kate-editor.org
More information about the KWrite-Devel
mailing list