KTextEditor Plugins

Sven Brauch svenbrauch at googlemail.com
Sun Dec 22 13:07:23 UTC 2013


I still find the concept of KTextEditor plugins very elegant, and that they 
have not been used is not true in my eyes. For example I have written this 
collaborative stuff recently, and another person has written a D code 
completion plugin -- just in the last few months.

Let's take the collaborative editing stuff as an example of why KTE plugins 
are great for it: It is a feature which is potentially useful for all 
applications using katepart, including kate, kile, kwrite and kdev. You might 
say it could be in katepart, but that's only correct on paper: Although the 
feature is working okay, it is not woking as well as the rest of katepart. I 
would in its current state not want to merge it into katepart. Thus, without 
KTE plugins, it would exist only in a fork of kate and slowly rot unless I 
maintain the fork all the time (merge from kate master etc). Like this, 
though, it's in an extra repo and only interfaces with an API which has been 
the same for 7 years, distros package it, and people who want it can use it 
without the others suffering from the bugs it still has.
Of course it would be cool to have it in katepart, but it's a project which 
can't start in there. It's much easier to develop it outside of the kate tree 
for a year, and later merge it eventually.
Apart from the staibility issues, the plugin currently depends on lots of 
things katepart should not depend on. It would take quite some work to change 
that. Same goes for e.g. the D plugin: If you have it as a separate plugin, 
you don't have to worry about run-time dependency handling. You don't want 
kate to depend on a D compiler.

We should discuss that again at the sprint though, it'll be much easier in 

Then again, under the condition that we manage to design a plugin interface 
which all relevant apps implement which also allows document and toolview 
management, I would be okay with moving to that and dropping the KTE one. But 
then we should really do that and make it work (I'd help with implementing it) 
and only then make the final decision to drop KTE plugins.


More information about the KDevelop-devel mailing list