Kate Improvements and Suggestions 2023
This is the meta issue for 2023. Last year's issue can be found here.
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.
Qt 6 port!!!
In this year the big Qt version jump will happen, we need to ensure that port is as flawless as feasible.
-
See if QRegexp
usage in xmltools / xmlcheck plugins can be replaced with QRegularExpression -
Convert all QMap to std::map -
Convert all QSharedPointer to std::shared_ptr
Kate/KWrite
-
Add action to re-open last closed tab. BUG 463269 -
Make tool view tabs moveable by drag&drop to sort the order. Currently the order depend on load order (or something) -
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 -
Create an app level "Diagnostics" toolview that shows diagnostics from lsp or any other source -
Windows Terminal Support
LSP
-
Support code lenses. Example for Haskell language -
Call/Type Hierachy support -
Ctrl + W should close a tab in LSP Toolview when it has focus
Project plugin
-
Add spell checking to commit editor. (Is the extra editor needed? No way to use a tab/page/document like done when click to show a diff?) -
Projects tab context menu: I can't remove gitk
, evenMore->Configure
suggest I can. When do so the menu is more messed up than before. The Configure page looks scrambled here -
CMake extra generators will be removed, we need to use the api and auto generate the project: https://cmake.org/cmake/help/latest/generator/Kate.html https://cmake.org/cmake/help/latest/manual/cmake-file-api.7.html#manual:cmake-file-api(7)
Build plugin
-
Some syntax highlighting for build-output -
Store build/run commands also with projects in stead of only sessions -
Search and use CMakePresets.json and CMakeUserPresets.json to generate project targets -
Make it possible to specify the regular expression for finding files and lines in output -
Copy & Paste command rows in the command tree
External tools
-
Fix rustfmt tool.
KTextEditor stuff
-
Allow having different colors for "occurrences" and "selection" -
Do smooth pixel-by-pixel scrolling with touchpads BUG 378275 -
Git based gutter, for git projects -
Add an action to insert a text file at a cursor position -
KF6: Allow for context-sensitive keyword list completion, see #92 (comment 614784) -
KF6: Simplify API by merging applyFolding() and applyFormat(), see #92 (comment 614784)
Git support
-
Show current branch in the statusbar instead of in the project toolview -
Support Git log? -
Allow filtering in the File History. Git log can reuse stuff from FileHistory widget -
Support Git Line History -
Allow jumping to a file from "Commit Tool View" -
Supporting jumping to the line from git diff -
For conflicted files, jump to the first conflict on file open from GitWidget -
Fix git diff is scrolled to the end on opening. It should be at the top -
Async getRepoBasePath method, it doesn't need to block. Maybe something like getRepoBasePathAndThen(callback)
-
Auto reload git diff on tab activation if diff is from GitWidget or just diffing two docs as the content might have changed and diff might be stale -
Diff should show "No differences found" when diff was empty -
Allow copying commit has from file history -
Allow opening the full commit from file hisotry
Plugin ideas
- A CMake plugin, which has basic cmake support to load targets and allows some configuration? - Currently Cmake can generate a project for you with all the targets so this may not be necessary.
- A plugin for KDE Development