Developers
Kate/KDevelop Sprint – First Weekend
Here we sit, in Barcelona, hacking away at KTextEditor & Kate.
During the first 2 days, we already got some stuff done, like cleaning up KTextEditor interfaces and port more parts to KF5 (like ctags plugin, sql plugin, …).
More and more, KTextEditor & Kate get into a usable state for frameworks ;)
It is really good to have some free days in a nice location to focus on that goal!
Interfacing Lua With Templates in C++11
I thought I’d share a very interesting read about how to wrap the lua C bindings with C++11 variadic templates: part 1, part 2, part 3.
These type of cool articles pop up from time to time on reddit/r/cpp, so if you are interested in C++ topics, this is definitely worth to follow.
Read MoreKTextEditor on Frameworks 5: Timing is everything
This is a follow-up to Aaron’s blog Frameworks 5: Timing is everything, put into the perspective of Kate and the KTextEditor interfaces. In short, Aaron suggests application developers the following:
When Frameworks 5 has a firm release schedule, then it makes sense to start coordinating application releases targets with that and syncing up development cycles.
I agree with this entirely, provided it’s really about applications. In the context of Kate, this is not the case, since the term ‘Kate’ usually also refers to the ‘KTextEditor’ interfaces along with its implementation ‘Kate Part’.
Read MoreKate in 4.12
Since the KDE SC 4.12 release a month ago, it’s about time to look at the changes of Kate in 4.12:
- Vi input mode: complete macro support
- Heavily improved vi input mode
- Multi-column text editing (thanks to Andrey Matveyakin)
- MiniMap: align to the top (instead of vertically centered)
- Projects plugin: modified files now show a modified icon
- Improved C++/Boost Style indenter
- in total, 21 issues (including wishes and bugs) were fixed
What comes next?
Kate will get more polishing in the next 4.x releases, for instance, in KDE SC 4.13 Kate optionally supports animated bracket matching.
Read MoreKate Licensing
Hi,
a long time ago, the license of most parts of Kate/KWrite/KatePart/KTextEditor was LGPLv2+ (in the old time, where it was named KWritePart/Kant/…, the original KWrite had that license originally, at least all parts of the component of it).
Then, we changed that to be LGPLv2 (only).
It seems, that was a poor choice, as we now run in v2 vs. v3 vs. any later version problems.
Read MoreMultiple Windows & Kate on KF5
In KDE 4, you can open a new window for Kate via “View -> New Window”.
This won’t start a new application instance but just add an other Kate main window to the current instance (which shows the same documents & session & projects).
This is kind of complex to handle internally and we think about dropping that behavior and instead launching just an other Kate application instance if you trigger that menu action.
Read MoreKate on KDE Frameworks 5
It still has a LOT of issues (and I marked all commented out pieces with FIXME KF5), but at least, it launches and loads the essential file tree plugin and allows you to open files via the “Open” action. Any help in fixing the remaining issues is welcome (and removing deprecated cruft), but keep in mind, it might eat all the files you edit :)
Read More
Current State of Kate on 5
Just a quick update on the frameworks 5 port: KTextEditor, Kate Part and KWrite build and run. Kate is not yet ported and does not compile. These changes were already committed:
- made KTE::Cursor and KTE::Range non-virtual for maximum speed
- removed KTE::EditorChooser, since Kate Part is the only implementation since over 10 years. Just use KTE::Editor* editor = KTE::editor(); to get KatePart.
- new signal KTE::Document::readWriteChanged()
- removed KTE::LoadSaveFilterCheckPlugin, was unused since years
- removed all KTE::Smart* classes in favor of KTE::Moving* classes
- merged KTE::CoordinatesToCursorInterface into KTE::View
- new: KTE::Range KTE::Document::wordRangeAt(KTE::Cursor)
- new: QString KTE::Document::wordAt(KTE::Cursor)
- new: KTE::DocumentCursor
- ported lots of KSharedPtr to QSharedData
- updated Mainpage.dox to reflect porting notes
- some small interface cleanups and additions
Please feel free to join the porting fun. Just follow the Frameworks compile guide and checkout the git branch “frameworks” in the Kate git module.
Read MoreKate: “C++/boost Style” Indenter
Greetings from the Kate land again. This time, Alex Turbov will spend a few words about his “C++/boost Style” indenter that is part of Kate Part for several releases.
The Initial Motivation
This indenter (initially) was designed to help code typing in a “boost::mpl” style (i.e. with leading comma in formatted (template) parameters list). One may read the rationale of such approach in the “C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond” by David Abrahams and Aleksey Gurtovoy. It is really easy to miss a comma when invoke metafunctions and it usually leads to a lot of complicated compile errors. The indenting technique should help to visualize the control syntax and prevent stupid errors like missed commas.
Read MoreKatePart/KWrite arrives in the KDE Frameworks 5 world
After starting the “frameworks” branch in kate.git more than a week ago but doing not much beside an initial KTextEditor compile & link port I felt a big guilty ;)
Given a lot of people blog about the progress of programs X and Y for Qt 5.2 and KDE Frameworks 5 I guess it is time that KatePart joins this club.
Some hours later, a ‘working’ version of KatePart and KWrite have landed in the “frameworks” branch of kate.git. KWrite launches, loads the part and the open action even works (command line parsing is off-line btw. ATM).
Read More