VScode is certainly a heck of a lot easier to get LSPs working than e.g. vim.
If someone made it actually easy to set up neovim with lsp support that works as well as with vscode, there’d be no reason to give Microsoft any attention at all
This was one of my biggest issues, but I did manage to succesfully switch to nvim few months ago, by installing ideavim into Rider, vscode-vim into vscode (so I can’t easily escape it when I get lazy), but most importantly - setting LazyVim as my default editor, which has been a lifesaver.
It has a pretty good LazyExtras interface for easily installing a ton of plugins, almost for every language. You just open the LazyVim menu, select a language you want, and it installs LSPs, debuggers and whatnot you may need for it. It’s probably using the nvim-lspconfig mentioned in other comments, but it has been pretty seamless.
But any other pre-made nvim config will work, this one is just more approachable than someone’s random plugin list.
In Kate, you just install the LSP server, which is typically as simple as apt install marksman and then Kate will automatically start it when it encounters an appropriate file.
Kate also has a Vi Mode, if that’s what you’re looking for. ¯\_(ツ)_/¯
The LSP support itself is builtin in Neovim (not in Vim though, AFAIK), but each language server needs to be configured and activated. There is a plugin with all(ish) configurations - https://github.com/neovim/nvim-lspconfig - and activation is done with a vim.lsp.enable("server-name") command, which you just put in your config and the Neovim will start the LSP when you open a relevant file.
Ah, I guess that makes sense. Kate automatically detects available LSP server executables but then prompts you before starting them for the first time, in case you did not install that and it’s malware, or I guess, in case you just placed a script there which happened to be called the same, but would be very bad to run.
Neovim could theoretically do that, too, but then you need a way to block executables, so that it stops prompting you every time, which you’d probably want in a separate config file.
So, it’s definitely a simpler solution and perhaps moreso what one would expect from a TUI editor, for you to just list the ones to run in the config file.
Neovim has something better - there is a plugin that installs the servers for you - https://github.com/mason-org/mason.nvim - and then you can just use the servers that plugin has installed (which should be more trustworthy because you just need to trust the plugin and not some random executable)
VScode is certainly a heck of a lot easier to get LSPs working than e.g. vim.
If someone made it actually easy to set up neovim with lsp support that works as well as with vscode, there’d be no reason to give Microsoft any attention at all
This was one of my biggest issues, but I did manage to succesfully switch to nvim few months ago, by installing ideavim into Rider, vscode-vim into vscode (so I can’t easily escape it when I get lazy), but most importantly - setting LazyVim as my default editor, which has been a lifesaver.
It has a pretty good LazyExtras interface for easily installing a ton of plugins, almost for every language. You just open the LazyVim menu, select a language you want, and it installs LSPs, debuggers and whatnot you may need for it. It’s probably using the nvim-lspconfig mentioned in other comments, but it has been pretty seamless.
But any other pre-made nvim config will work, this one is just more approachable than someone’s random plugin list.
Is the LSP support a plugin in Neo-/Vim ?
In Kate, you just install the LSP server, which is typically as simple as
apt install marksman
and then Kate will automatically start it when it encounters an appropriate file.Kate also has a Vi Mode, if that’s what you’re looking for. ¯\_(ツ)_/¯
The LSP support itself is builtin in Neovim (not in Vim though, AFAIK), but each language server needs to be configured and activated. There is a plugin with all(ish) configurations - https://github.com/neovim/nvim-lspconfig - and activation is done with a
vim.lsp.enable("server-name")
command, which you just put in your config and the Neovim will start the LSP when you open a relevant file.Ah, I guess that makes sense. Kate automatically detects available LSP server executables but then prompts you before starting them for the first time, in case you did not install that and it’s malware, or I guess, in case you just placed a script there which happened to be called the same, but would be very bad to run.
Neovim could theoretically do that, too, but then you need a way to block executables, so that it stops prompting you every time, which you’d probably want in a separate config file.
So, it’s definitely a simpler solution and perhaps moreso what one would expect from a TUI editor, for you to just list the ones to run in the config file.
Neovim has something better - there is a plugin that installs the servers for you - https://github.com/mason-org/mason.nvim - and then you can just use the servers that plugin has installed (which should be more trustworthy because you just need to trust the plugin and not some random executable)
There is also https://github.com/mason-org/mason-lspconfig.nvim which bridges the two and automatically enables servers that were installed via Mason.
Where might I find a list of languages/LSPs that Kate supports and will load automatically like that?
Here is the default configuration: https://invent.kde.org/utilities/kate/-/blob/master/addons/lspclient/settings.json
If you do need more LSP servers or a different one for a language, you can specify your own custom configuration in the same format.
Thanks!