Kate's Future, Improvements and Suggestions 2021
This is a sort of a mega issue where we can just track ideas / suggestions / what to do. Suggestions are welcome and everything is open to discussion :)
There is not strict timeline, but I would like for us to have all of these this year (unless someone has an objection about some particular thing).
If you want to work on something and want to discuss, just comment below OR open a separate issue if you feel like it.
Kate main app
- Command Bar - A quick-open like dialog using which we can perform any action, open config quickly. Initial Commit | Update 1 | Update 2 | Styling and RTL fix | clean up, don't include self in actions
- Icons only in our side bars. Currently the toolviews with text take too much space...
- Kate should set up a session by default, so all the amazing session-specific features are exposed without the user needing to configure anything. BUG 402598
- Stash unsaved documents/changes on quit BUG 353654
- Improved HiDpi support on windows so that font dont look pixelated with scaling
- Fix light/dark icon theme support on Windows + macOS BUG 432085
- Ctrl + Click to go to definition / find implementations. Current way of doing this is very cumbersome imo
- Better tooltips. Tooltips often provide markdown like text, we can leverage QTextDocument to improve the situation. We likely need a custom widget for the tooltips, something that is scrollable and looks good. Additionally we can do some syntax highlighting too using KSH.
- Semantic Highlighting. This is something which will really raise Kate to a whole new level. Currently we have some form of Semantic highlighting, but we need to implement the official LSP protocol for this.
- Easy way to go to references, perhaps a shortcut. A submenu is definitely not very fast to reach.
LSP should not put everything from the autocomplete into text editor. For example
somefunc() [int]ends up on current cursor position if you press tab.
- Fix a rare case where you have Two autocomplete boxes floating! @mnauwelaerts @cullmann
LSP results in the toolview have
Line: xxx: ...... The "Line xx" part should be bold and ideally we can have borders between elements so that they look clearly separated.
If you have autobrackets enabled for
"", and you type
#include "xxx.h", you get two inverted commas at the end ->
- LSP Config page should have some more explanation on config items in the form of Whatsthis.
- Add git branch name with the project name. I think this is often very useful
- Ability to Open a folder. We can already do this, if there is a .kateproject file, why not create the file automatically? BUG 423306
- Move CTags plugin inside the project plugin - Currently we have about 3? 4? ways to go to defintion etc, I think 3 of them are in the context menu! This needs to be remedied.
- Ability to close a project
- Ability to exclude a folder manually
Make it clear that you can remove both target / target set using the remove button.
Ability to remove a target from buildset.
- Don't change the cursor for whole application while building something
- Build plugin should put "Project Targets" first(expanded) and restore the last selected target as checked.
- The button-icon for build button is a check-mark, this doesn't make things obvious and you have to read the tooltip to find out the build button.
- Some syntax highlighting for build-output
- Support for autoloading CMake targets?
- Ability to open multiple tabs. BUG 419710
- Faster multi-file / folder search. Currently if you search "kate" in the kate project, it takes about 7 - 8 seconds on my computer. Qt Creator is instant. (#21)
- Horizontally scrollable search results that can contain long lines. This has a very important use case i.e., a "line filter" tool - This is done but line length limit is about 180 or so
- Theme Search&Replace plugin with editor colors
- Step In / Step Out / Step Over have the same icons...
Minor things that can be improved
- Currently if you execute an external tool command through kate, the cursor is moved to center of screen. This is okay if the text changed, but not okay if nothing changed.
- Support for active and non-active indentation line. Currently everything is active and looks the same regardless of your cursor position.
- Support for alpha channel in themes, Syntax-Highlighting Layer Config Layer, KTE Html Export.
- Finally fix the RTL bug of correct dynamic wrapping
- Multicursor support
- Dont paint selection background over the full width of the editor. Just paint over the text that is selected only. Improvements
- Make sure the current line highlight is painted from edge to edge. Currently there is a tiny gap at the beginning
- Current line highlight in line number area too
- Allow having different colors for "occurunces" and "selection"
- Do smooth pixel-by-pixel scrolling with touchpads BUG 378275
- Detect and match opened files' existing indentation method (https://bugs.kde.org/show_bug.cgi?id=109338)
- Camel Case cursor / Snake case cursor for movement / text removal.
- A CMake plugin, which has basic cmake support to load targets and allows some configuration?
- Native TSserver support. Things are working through LSP, but native support is better and lets not forget there is a huge JS developers community
- A basic git plugin
- Rainbow brackets :)