Category Archives: Events

If you are a KDevelop and/or Kate/Kwrite developer and do not read the mailing lists: There’s a hack sprint coming up in Berlin in 2010. I think there’ve been enough sprints in Berlin already so that you know it’s a great city for such an event. Though this time it won’t be at KDAB or Nokia offices, but at the Physics Faculty of the FU-Berlin. Since I (currently) work there as an IT admin, it was my first choice and worked out. I hope it will be a good location for the meeting. If you want to attend, vote on doodle:

code completion: only show group header if the group name is not empty

reintroduction of buffer blocks in Kate’s document buffer (one buffer contains up to 4096 lines). The blocks build a linked list. Editing a 500 MB file kind of works now again. It’s still rather slow, though.

more speedup in Kate’s document buffer

Kate is using KEncodingProber instead of KEncodingDetector now

generate internal version of KatePart automatically, so developers don’t have to adapt it manually each release

python encoding detection plugin that warns if encoding is not correct while saving

new plugin: Backtrace browser, mainly for developers

find in files: several speed optimizations

find in files: progress indicator while search is active

find in files: redesign of workflow. Search happens with non-modal dialog and results are shown in toolviews.

The Kate Developer Meeting was a productive weekend and once more shows how important the developer sprints are. The summary will be on the dot shortly. Work already started on several topics. As everyone want screenshots, here we go: The new annotation interface available now in KTextEditor can be use to e.g. show svn annotations directly in kate:basysKom’s coffee maching is simply the best: It can do everything, you just have to press the right key combos:

the script header should state which hl-modes it can indent (instead of mimetype/wildcard in the header)

Auto-completion:

build word completion plugin into kate part by default

fix implementation to actually complete stuff

simplfy the popupmenu (!), just as in KDE3

remove code completion config dialog, this must be implemented in the code completion model, as this is not applicable to any other than the cpp model. Better have something tiny working instead of a broken monster

Kate Sessions (profiles)

data stored:

application plugin config

file list (opened files)

window configuration

editor component config

ktexteditor plugin config (maybe kpluginselector problems)

session level configuration / document variables

kill default.katesession file, always use katerc

do not show the session chooser at startup, instead, make a good default (katerc)

clone session: “save as” opens a small dialog with line edit and options like window config, file list

remove option “restore view config” -> simply always do it

make sure kate part plugins can save data to sessions: fork kpluginselector, if necessary

Highlighting

extend highlighting system to allow combined highlighting

add e.g. “entercontext” rules

separate highlighting loader from hightlight class

Explanation: The purpose of this is to combine template languages such as PHP, EmbPerl, Mason etc with any other syntax highlighting on the fly, as opposed to the current practice which requires a combined set of files to be generated at build time. This is only done for the HTML + PHP combination, so with the new way a multitude of combination becomes available. In addition to that, nothing needs to be regenerated when a highlight is updated, makeing it much easier for users to keep their highlightings updated.

Highlighting / Modes

when opening the config page choose the current used entries (highlight and mode) in the combo box, so that it is immediately clear to the user which mode/hl is active

“Fonts & Colors” > Highlight Text Styles

“Open/Save” > Modes & Filetypes

-> implement in kate part internally: simply track an active view (the last that got focus)

Collaborative Editing

example: gobby

as KTextEditor plugin?

probably not completely possible right now, missing internal access

Decibel (realtime communication protocol)

move communication framework into separate process and use dbus interfaces

implementation postponed

Input modes (vi mode)

background: yzis

rewrite from scratch

idea of abstracting away “everything” to be flexible (e.g. to support different front ends)