KDevelop and Kate advancements over the last weeks

Hey all,

I didn’t blog in a long while so I thought I’d dump some notable things I did over the last weeks. It’s probably neither complete nor thorough - you should try it all out to see it for yourself :)

Kate

Lets start small with my Kate contributions. I really concentrate on KDevelop nowadays since Kate works quite well for me and I don’t have many itches to scratch anymore :) So, what did I do these last weeks? Mostly cleanup and performance work, especially regarding MovingRanges which of course is mostly needed for a good experience in the upcoming KDevelop 4.2. With the help of Dominik Haumann I also went through our indentation unit tests and made sure we expect all currently failing test cases, as well as fixing those I could. Now we (finally!) have a passing test suite and get noticed about introduced regressions. Awesome!

KDevelop

Of course I still concentrate my contributions on KDevelop and related plugins. What I find quite interesting is that I’m now for over two months in a “polish-and-bugfixing”-mode, without adding much new features. I think that shows that I’m quite satisfied with the existing features, just not with the way they are integrated. E.g. the Kate performance improvements above were done in order to make “reformat source” not hang the IDE for a couple of seconds anymore, in KDevelop 4.2 it will only be like one second for really big source files. I’ve also tackled our black sheep, the “launch configuration” dialog. I didn’t rewrite it, but I did some polishing and have some more ideas to hopefully get it into a useable state. Oh, I just remember: I also spent some time on the “Snippets” plugin, restructured the editor dialogs a bit and made them use Katepart as well, for syntax highlighting and proper editor features :)

I generally care about small things nowadays, like e.g. that all widgets have a proper tooltip. This is also something where you all could help: If you find a widget in KDevelop master (4.2) that has no tooltip, please notify me! I’ve added those e.g. to the outline and quickopen toolbar widgets among others.

And since KDevelop 4.1 was in beta stage I’ve fixed lots of bugs and continue to do that. I triage each new bug for KDevelop/KDevplatform, request feedback and valgrind logs and try to fix whatever I can. Even now I can safely assume that KDevelop 4.2 will be more stable than 4.1, even though we did lots of architectural changes in the platform, esp. regarding MovingRanges.

And now to the last and to me most pleasing part: New features! Remember how I said I didn’t do lots of feature development at all these past days? This is basically true, instead I let others do the work :) We really get more and more patches and merge requests by other people, and I did merge quite some changes already. We have an improved “find in files” plugin now, and the French students are working hard on giving it replace functionality as well! We already merged their improved QtHelp plugin that gives you the ability to integrate arbitrary .qch files into KDevelop, e.g. the KDE Api documentation. They also work on [man integration](, which will be a joy for all STD C / C++ developers.

Furthermore we now have a “Filter…” line edit above the project manager view, “Argument Dependent Lookup” for the C++ plugin, a much improved “Problems” toolview, with the ability to show TODOs etc. pp.

This is just from the last few weeks, and it’s work done by many new contributors. It’s really very cool to see this happening.

Oh, and I personally worked a bit on the QMake support for KDevelop, I’m not sure whether I will manage to get this into a usable state for KDevelop 4.2, but I already use it at work.

Which brings me to the last part of this blog post, release schedules! I’ll finally release a KDevelop 4.1.1 bug fix version next week, and will make sure that there is a 4.2 release just before / shortly after the KDE 4.6 release in January. The big “issue” there is that KDevelop 4.1 will not work with KDE 4.6+, since there are no SmartRanges in Kate from 4.6 anymore. So a big fat warning to any adventurous tester out there: If you want to try KDE 4.6 betas, remember that you’ll have to get KDevelop master (== 4.2) as well somehow!

So, that’s it for now, have a nice sunday everyone :)

Kate on git.kde.org

Goodbye to Gitorious, welcome to git.kde.org.

You can find the Kate project here.
The “Get It!” page on the homepage is updated, too.
Push access is still restricted, but that will not last for ever 😉

Thanks to the sysadmin team of KDE, thanks guys, for all the work you put into the new infrastructure (and to help me with my faults 😉
And thanks to Gitorious, it was a nice time there, and I learned to appreciate Git, like many Kate developers (some appreciated it even before).

Like before, all changes in SVN and Git will be synced by me, as Kate is still released with KDE SC from SVN.

For the future I would like (and most kate devs, too) to develop solely in the Kate repository and have Kate released from there with KDE SC (instead spread over several modules).
But this must still be discussed with the release team after 4.6.
Beside, this means no split off from KDE, but it makes contributing to Kate that much easier, given atm you would need to checkout/clone kdelibs + kdebase + kdesdk and try to build there the Kate relevant parts, which is just no fun, if you just want to hack on some small bug or feature :/

Kate git repository moving to git.kde.org soon!

We tried to move weeks ago already, but in our current repository some small glitches occured during the SVN => Git transition.
I have redone the conversion now and soon we will be on git.kde.org (if I not screw that again, thanks already to sysadmin for all help, now and in past!).
Still some small stuff will then need to be ported, which I will do after the initial repository is up there.
After this, the repository on Gitorious will vanish.

I will keep syncing KDE SVN and the repository, until KDE has migrated, too.
But please, if you work on features rather than simple oneliner fixes, use the git repository on git.kde.org after it is announced to be available.
You have automagically a git account and it makes merges for me much easier, if there are not too many conflicts from SVN -><- Git.

I hope the Kate team can keep the kate repository then as sole workspace, as working on the kate part/app is much easier for all contributors if you don’t have to get whole kdelibs/kdesdk. But that is still not discussed out I think, release team has a say here, as I would rather like to stay in KDE release cycle.

Highlight Selected Text

Kate has a new plugin called “Highlight Selection”. Since it is a KTextEditor plugin, it is available for all apps using KatePart (e.g.: Kile, Kate, KWrite, KDevelop etc). What does it do? If you select a whole word, all occurrences of this word are highlighted as well:

You can jump to the next occurrence with ctrl+h (btw: ctrl+h works already since KDE 4.2 or so). The plugin will be included in KDE 4.6. If you can’t wait, you can use it already now by building Kate from the sources.

(Side note: Be careful with enabling this plugin in KDevelop, since KDevelop itself is already doing extensive highlighting)