Kate hopes and dreams (wishlist)

I’d love if there was a default config for lldb in the dap plugin. I use Kate on macOS at school, which ships with lldb instead of gdb. Installing a debugger requires privileges on macOS, which I do not have, so I cannot install or use gdb. I tried to create a config for making lldb work with the dap plugin, but due to a lack of documentation I was unsuccessful.

Here’s how I managed to get lldb to work with kate, however i’m on linux so it might be different on mac.

{
    "dap": {
        "lldb": {
            "url": "https://github.com/llvm/llvm-project/tree/main/lldb/tools/lldb-vscode",
            "run": {
                "command": ["lldb-dap", "-p", "${#run.port}"],
                "port": 0,
                "redirectStderr": true,
                "redirectStdout": true,
                "supportsSourceRequest": false
            },
            "configurations": {
                "launch (debug)": {
                    "request": {
                        "command": "launch",
                        "mode": "debug",
                        "program": "${file}",
                        "args": "${args|list}",
                        "cwd": "${workdir}",
                        "stopOnEntry": false
                    }
                }
            }
        }
    }
}

I had a drawback with Kate recently.
Using the build plugin seems unintuitive. I kept fiddling with it just to build a single C++ file.

So how is the build plugin supposed to be used?

It’s basically a plugin that runs shell commands, like cmake --build . and similar, then prints the output of the build to it’s own output window. The added bonus of this is that you can click the error links in output window to open the file, and also show the same errors in the diagnostics panel.

hi there
Instead of posting on KDEbugs or Utilities / Kate · GitLab, I prefer to submit an item to add to the wishlist.

Is it possible that kate’s filesystem module includes file templates already present/created in the $HOME/Templates folder.

it’s quite boring to always create files of the same type with the same basic information (shebang, docstring, chmod…) for a project. especially since a model is already proposed (html).

I’ve searched but can’t find a solution.

1 Like

I look forward to integrating Ollama, which not only uses AI to generate code, but also summarizes, continues and translates for the selected text. I am not a programmer, I often use Kate Editor to process plain text. :grinning:

1 Like

Cody specifically is open source and based on the principle of enhancing the prompt with context received from solargraph and the lsp, so I really hope to see it coming to Kate together with OpenCtx

Other nitpick I have are all vscode extensions that seem to not have equivalent on Kate:

also a few languages I like seem missing, specifically:

  • uiua
  • team
  • svelte
  • astro
  • jinja
  • jq
  • wsgl
  • gdshader
    And finally a preview for shaders, html and https://previewjs.com/

I wish Kate could have the outline functionality as in VSCode. The outline shows the general structure of a file, like headings in a markdown, classes in a cpp file. Each item in the outline is clickable, making it easy to view a large file.

only thing that prevents me to use Kate as daily is no support for remote Development and containers. When this is on Kate it will be my only editor, but for now when i need to use Remote or container development i still need to use VScode

This is a thing, it relies on the language server plugin.

However you may have to enable it from a menu first.

1 Like

really Kate has almost all of the basis for a good IDE, it just lack some details:

  • the lsp client only allows 1 server per file, and I suspect (tho I haven’t checked) the debbugger has a similar limitation. This alone would be able to fix like 90% of my grieverances
  • the compiler plugin should support a way to extend it so it can detect build targets from arbitrary systems, just as one can with lsp
  • a test runner would be nice, if it were as extensible as the lsp plugin
  • some kind of ai automation powered by lsp-ai
  • https://containers.dev/
  • the icons in the file tree should use the “scalable” icons instead of the symbolic so the file type can be seen at a glance
  • when a file is modified it should just show a toast on the modified file, not an entire modal window
  • preview for more file types like shaders, html, svelte and other component files (via preview.js)
  • the terminal should support all of konsole features including notifications on process end
  • the search and the warnings widgets should reflow better when locked to the side instead of the bottom
  • git blame should be right aligned, not be just a few spaces after the line

One thing I really do miss coming from vscode (which I’m trying to drop) is a more functional file manager.

In vscode you can drag/drop, rename, remove, copy paste, … files in the directory structure, whereas with Kate I find myself using dolphin or a terminal. Which breaks my flow completely.

@akselmo I would like to add my suggestion/request to this discussion: Integrate the markdown features of GhostWriter (a separate KDE project) into KATE. I would like using GhostWriter for Markdown files more frequently, but many missing text editing features, which are readily available on KATE (such as VIM input), prevent me from using it as often as I would like.

In my opinion, GhostWriter should be merged with KATE.

give the Documents Tree plugin a try

A better solution would be to re-implement GhostWriter using KDE’s KTextEditor framework. This is the component used by Kate, KWrite, KDevelop and even QtCreator and it package most of Kate features - Syntax Highlighting, VIM mode, Multiple cursors, Block selection etc.

The problem is that this is only available for QWidgets, while GhostWriter is QML based. But that would be the case when intergrating it into Kate too.