Highlighting Search & Replace Matches

In response to Kate in KDE 4.8, there was this reply on reddit:

Does this mean the stupid search/replace functionality has finally been fixed?

Once the search/replace marks/colors text there’s no way to clear it so when you’re replacing keywords the last one will be permanently marked with background color unless you reload the file or search for something else… Infuriating.

It’s about the yellow / green background for search matches / replace items. But stating that you have to reload the file in order to remove the highlighting is completely wrong. If you dislike the persisting highlighting, just press ESC, and it is removed (yes, this is by design, and imho very useful).

There is a pretty good book called The pragmatic programmer, and one rule of thumb is

Use a Single Editor Well

The editor should be an extension of your hand; make sure your editor is configurable, extensible, and programmable.

How true! :-)

Kate in KDE 4.8

About half a year ago, Kate 3.7 was released as part of KDE 4.7. Now that KDE 4.8 is about to be released, let’s have a look at what Kate brings in KDE 4.8.

Bug Fixes

According to KDE’s bug tracker, about 190 issues were solved. Taking a closer look, lots of small issues were fixed, amongst them:

Heavily Reworked Code Folding

As part of the Google Summer of Code (GSoC) 2011, the code folding code was improved. The main goal was to eliminate wrong folding behavior and fix all crashes while making the code more maintainable. We are quite happy with the results: Given the robust behavior, it now was possible to remember code folding state past sessions and during document reload. So folded regions are not lost anymore.

Additionally, the visual appearance was changed to be rather decent.

Improved Vi Mode

Also as part of the GSoC 2011, Kate’s vi input mode was heavily improved.

Search & Replace in Files

The “Find in Files” plugin is now replaced with the new “Search and Replace” plugin: It basically contains all the features of “Find in Files,” but additionally has the following features:

  • either search in files-on-disk, or in all the opened documents
  • all search matches are highlighted
  • replace support: matches can be (selectively) replaced with other text

Line Modification Indicators

Kate has a shiny new line modification system. Read all about it in this dedicated article. Mandatory screenshot:

Document Variable (Modeline) Editor

Kate (and thus all applications use Kate Part) can be configured by using document variables, also known as modelines. Since it’s hard to remember all the available keys and values, a dialog helps out in the config dialog. You can read about all the details in this dedicated post (screenshots).

Documentation Updates

T.C. Hollingworth put a huge amount of work into the Kate and KWrite handbook. Thus, the documentation is much more up-to-date and we hope it helps to learn using Kate effectively more quickly. The official version is available on docs.kde.org.

Current State & The Road Ahead

Apart from the upcoming KDE 4.8 release, Kate turned 10 years old this summer. All in all, we can proudly say that Kate has a solid code base in its current state. The smart ranges were replaced by the moving ranges. Code folding is more clean with less bugs. Our plugins got a lot of updates. The documentation has improved. Of course, more help is always welcome. So if you are interested in Kate development, you are welcome to build Kate from sources and join our team by sending patches.

Thanks to everyone contributing to this great release :)

Evolution of Kate Development (Take 2)

Dominik’s video is cool, but we agreed that perhaps the names should be around and we can have a bit higher resolution to make them readable ;)
Therefore here is a second take of the video, this time with names and 720p. (I have no luck with music, therefore, silence)



You only get to see the video if you visit our blog page here.
Direct HD link to YouTube here.

Command to create it (if YouTube eats it):

gource --multi-sampling --seconds-per-day 0.02 --auto-skip-seconds 0.1 --camera-mode track --stop-at-end -b 000000 --hide filenames,dirnames --disable-progress --date-format “%Y-%m” --viewport 1280x720 --output-ppm-stream - -r 60 | ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i - -vcodec libvpx -b 10000K -threads 4 kate-gource.webm