Current Work

We try to keep this page up to date, so that you have an idea about what is changing in Kate. You are very welcome to pick up a task yourself and start helping us. Feedback and ideas are appreciated very much as well, so do not hesitate to contact us!

Refactoring/Cleanups

Status Description
DONE Kate and KWrite Applications ported over to plain KTextEditor Interfaces, Kate Part Interfaces are now relic of the past, and Kate/KWrite are able to support yzis, too.
DONE KateViewInternal to be completely hidden from view for almost everything but the view itself. Viewinternal only visible to friends of KateView and helper classes, more is not really needed, as all this classes are real close to the view, like the iconborder.
IN PROGRESS Separate more functionality from KateDocument (selections moving to KateView, a plugin manager class, a config class, spellcheck stuff moved out, etc)

In progress:
  * config classes already in place
  * selection moved to KateView
  * spellcheck moved to own class
TODO Fix the code completion interface, so that several client objects can use it without conflicts or 'undefined behavior'
IN PROGRESS KateLineRange to become a proper class with methods etc. Parts needed for bidi.

New Features

Status Description
DONE Implement a sessions managment for the Kate app, to replace the broken project concept we have atm and the filelist plugin.

Classes: KateSession, KateSessionManager
Session files: ~/.kde/share/apps/kate/sessions/*.katesession
On app startup a dialog asks which session to use. Normal
sessions stuff implemented, additions will follow, but the
system is around now and working.
DONE Selection per view
DONE Fix EOL whitespace cleaning finally by removing whitespace at load-time and keeping the document consistent all the time, works now filter like at load and save, transparent for users.
DONE Possibility to have indenter specific config pages. The pages themselves are missing though.
IN PROGRESS KMDI replacement for Kate App

 Stuff missing:
   - a way to shuffle toolviews in a sidebar
IN PROGRESS Scripting support by using JavaScript (kjs).

Already working, but API needs to be finished and a clever way to let
scripts register for the katecmdline needs to be implemented, with
caching and all other cool things the world doesn't or does need
Other important aspect is that for the indentation, we will need a additional
always loaded interpreter, the current way is to slow for this stuff
IN PROGRESS BiDi finally, using Scribe.
TODO Finally implement arbitrary highlighting and arbitrary input filtering
TODO Switch internal highlighting to use arbitrary highlighting api and thus be exposed (read-only)
TODO Buffer locking (Per-line or per-group-of-lines) for multithreaded access
TODO More robust history including cursor position history
TODO More featureful code completion including syntax highlighted entries
TODO Custom widgets in between lines interface (eg. so kcachegrind could use katepart to display its cpu usage information etc)
TODO KateFoldingTree* to use smart cursors
TODO Splitting a view over multiple columns (I want to by a 30" apple display ;)
TODO Modular input subsystem, to support emulation of other editors in a clean way
TODO Improved input modes especially in block selection
TODO Better support for information overlay (eg. documentation of a function - switch between short / detailed descriptions)
TODO Whatever else is needed for multiuser editing (and perhaps put most of it inside the part, so eg. kate, kdevelop, quanta etc. could all use it)
TODO Allow Kate to store sessions like project files whereever you want
TODO Support for search and replace over multiple lines, i.e. support \n. This way you can replace a linefeed by text for example.
TODO Support to search and replace in all opened files.
TODO The Tab Bar Extension plugin could be more useful, e.g. by allowing you to close documents using the right mouse-button.
TODO A plugin which makes all URLs clickable would be nice (open with Konqueror).