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