Conversation
|
Interesting! Thanks for doing this. Is there an easy way to include terminal support? Like in a split screen? |
|
I added a command |
|
Hi, thanks for reviewing. I signed the CLA and opened a PR with just the bugfix. I'll look into testing. |
|
Hi, I added tests for the plugin. |
|
Cool stuff. We've been rather busy with releases and fixes for clients. But I see definitely a future for this plugin. How are neovim plugins distributed/made available to the community typically? |
|
Well, things are messier than in VSCode I believe... Neovim plugins are usually distributed via Git and sometimes via LuaRocks. Users can then use a plugin manager to download plugins by configuring a list of plugins. The most popular plugin manager is lazy.nvim. Others include mini.deps, the recently added built-in one, packer.nvim (used to be popular, but is now unmaintained) and vim-plug (made for Vim, but also works in Neovim). Plugins can include LSP configurations that tell Neovim which binary to execute to start it by including an The LSP configuration does not include the LSP itself, which usually has to be installed separately. I personally like to install LSPs using my system package manager (Nix). This search query on Repology shows a list of language servers that are available on various package repositories. A more popular approach in the community is to use the mason.nvim plugin to handle the installation of language servers. This plugin acts as a package manager that downloads language servers from mason-registry. At the moment, the plugin in this PR uses a Currently, the plugin is in a directory, but Neovim/plugin managers by default assume that a plugin is in the root directory of the repo. Unison and onehalf are also like this. To tell Neovim to use the subdirectory as a plugin path, the runtimepath (rtp) needs to be updated to include this subdirectory. vim-plug supports this via the |
Resolves #988.
This PR adds a Neovim plugin that makes it easy to use the Rascal LSP in Neovim. To make the LSP work in Neovim, this PR includes fixes for a NullPointerException.
NullPointerException stack trace
To be honest, I'm not sure what
getDidCreate,getDidRenameandgetDidDeletedo and whether it is necessary to invokegetFileOperations3 times, but at least the error is gone.This plugin only adds support for the Rascal LSP, not for the parametric LSP.