What does HackerNews think of vim-lsp?

async language server protocol plugin for vim and neovim

Language: Vim Script

#12 in Vim
Did you misspell "editor with language intelligence?"

Because yeah, vim won't beat IntelliJ, but you can get it to be pretty decent with LSP:

https://github.com/prabirshrestha/vim-lsp

For the people responding to you who are saying you can get all the same things in vim, they're right of course, but a lot of this modern functionality is now built on top of the Language Server Protocol[1], which is an open standard created by microsoft for VS Code.

Kudos on the people who have ported this to Vim[2], but I suspect the support for LSP features will still be better in VS Code

[1] https://microsoft.github.io/language-server-protocol/

[2] https://github.com/prabirshrestha/vim-lsp

This has less to do with vim than with Terraforms poor LSP support.

Vim/Neovim has had LSP support for some time with plugins and now built in natively.

I use COC vim as it's the fastest to get started and I rarely have to do much config as it's based on VSCode and comes with sane bindings for go-to-def, refactoring and more. https://github.com/neoclide/coc.nvim https://github.com/prabirshrestha/vim-lsp https://github.com/neovim/nvim-lspconfig

You can try to use either of these implementations: https://github.com/juliosueiras/terraform-lsp https://github.com/hashicorp/terraform-ls

These are both fairly limited but you can see every editor (except intellij) uses this under the hood.

I've used them at companies with 300+ terraform repos and have never had much of an issue navigating/understanding TF through Vim.

Multiple plugins are available to add LSP support in vim, such as coc.nvim (uses node.js, more features) or vim-lsp (lighter, written in vimscript).

Neovim is also going to add native LSP support as well as tree-sitter in their 5.0 release, it's already available in nightly builds.

The most straightforward option is probably coc.nvim, which tries to give a similar experience to VS Code out of the box.

https://github.com/neoclide/coc.nvim https://github.com/prabirshrestha/vim-lsp https://github.com/neovim/nvim-lspconfig https://github.com/neovim/neovim

If you keep up with the LSP space, this is now possible with Vim

https://github.com/eclipse/eclipse.jdt.ls

https://github.com/georgewfraser/java-language-server

Are both good examples. You'll need a corresponding client like this one

https://github.com/prabirshrestha/vim-lsp

There are others, but this one is pretty good. Next release of Neovim will have one built into the editor. Frankly, it's a bit of a hassle but once you get an LSP provider set up you can get one for just about any language you're using

nvim-langserver-shim internally uses an older version of https://github.com/prabirshrestha/vim-lsp I'm hoping in couple of weeks vim-lsp will be stable and so that I can start contributing to nvim-langserver-shim. Currently I'm developing vim-lsp independently.

It already works asynchronously in neovim and vim on windows, mac and linux. You can follow up with the discussion at https://github.com/neovim/neovim/issues/5522 (you can see some of the progress in thread in gifs)