Re: Broken Code Highlighting in KDevelop
Christoph Cullmann <[email protected]>
| Newsgroups | gmane.comp.kde.devel.kwrite |
|---|---|
| Message-ID | <[email protected]> |
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