Hacker News new | past | comments | ask | show | jobs | submit login

I do recommend that new users just use coc.nvim, but not exactly because of what you said.

Both coc.nvim and the built in LSP implementation use basically the same Language Servers, so whatever updates happen to the server will benefit either approach.

However, coc.nvim DOES have a large community that has built a neatly packaged LSP client framework (and many other tie-ins like completion, snippets, formatting, and things like auto-pairs) that is a much more cohesive experience. The built in LSP is best at providing a solid baseline client for those language servers if you really want to tweak everything to exactly how you want it.

If you like that approach where you don't want to configure everything yourself, coc.nvim is probably the "superior" approach for you.

If you have ever said the word "bloat" unironically on your computer with 64G of RAM, built in might be for you.




If you have ever said the word "bloat" unironically on your computer with 64G of RAM, built in might be for you.

I really just want one config that works on:

* Yes, my Ryzen 5 with 32G of RAM

* My Pinebook Pro with 4G of RAM (and like 3.7G accessible) (and limited storage as well)

* My jump host / gateway VM with 512MB of RAM (and even more limited storage than the PBP)

So pulling down and running node.js to use coc.nvim has never been something I was interested in. Before nvim-lspconfig I used LanguageClient-neovim (a Rust client).


A lot of LSPs are written for node though, like pyright for example (yes, the best python LSP is written in typescript). It's kind of unavoidable to use node at some point if you're using LSPs in your editor.


This has not been my experience. For example I use this python language server, which is implemented in Python and uses jedi:

https://github.com/python-lsp/python-lsp-server

Rust analyzer is written in Rust, gopls in Go, clangd in C++, R language server in R, Jsonnet language server in Go, sqls in Go.


> It's kind of unavoidable to use node

This. Learned it the hard way. For many moons, I tried integrating YouCompleteMe and the like. Then one day, I just gave up and switched to `coc.nvim`


> and many other tie-ins like completion, snippets, formatting, and things like auto-pairs

This is usually where I check out when I get the urge to redo my vim setup. The fact that completion, auto pairs, snippets, and something like endwise are all at odds with each other isn't something I want to deal with.


> completion, snippets

This is fine in the nvim-cmp world, there's a config example in the lspconfig wiki, it's about 5 lines for the integration. The recommended lspconfig configuration (included snippets and autocompletion) has less lines of code than the example in the readme for coc.

> formatting

This is built-in to neovim's LS client (vim.lsp.buf.formatting()), adding an external formatter can be done with formatexpr (built-in)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: