Development/Architecture/KDE3/Advanced Developer Text Editor
KDE Architecture - Advanced (Developer's) Text Editor
Advanced (Developer's) Text Editor
Somewhere in the history of computing, there was a point where computers were no more than glorified typewriters (that's how Big Blue earned the "Big", in the end :-)
Anyways, more seriously, editing texts is one of the tasks computers are most often bound to accomplish. Programmers find important to enhance their usual editors in ways which simplify the coding work. Sometimes the amount of enhancements brought us sacred monsters like Emacs :-).
Respecting one of its own initial goals (provide most useful tools with the basic installation), KDE provides Kate, KDE's Advanced Text Editor. Many programmers will find this editor very useful for coding thanks to the following features:
- support for languages like: C, C++, Objective-C, IDL, Java, Modula2, Ada, Bash, Perl, Python, HTML, LaTeX and many more!
- colored syntax highlighting (and completely customizable)
- smart indenting
- very advanced text selection mechanisms: persistent selection, multiple selections, block selections
- complete customization of keybindings
- text bookmarking
- support for all possible end-line styles: DOS, MacOS, Unix
- infinite undo/redo and a handy browser of undo/redo actions.
Of course, Kate can be very well used as an ordinary editor. If we can call it ordinary :-). To this respect, Kate provides:
- a "Normal" syntax colorisation style
- spell checking (with support for multiple language dictionaries, if installed)
- list of recently edited files
Kate uses the editor component Kate Part which is also used in KDevelop, the Integrated Development Environment of KDE.
Thanks to the marvels of Object Oriented Programming principles that KDE uses extensively by the means of the C++ language, Kate is programmed in quite a modular manner. Thus, adding a colored syntax highlighting for a new language isn't a complicated endeavour. Further information can also be found on the official Kate homepage.