Curious if there are any major advantages of this utility over CoC (which also works very well for neovim).
I understand that for Neovim native LSP and lua based plugins are the way forward but curious whether anything is to be gained at this point by adopting this instead of CoC. As a consumer I don't really mind having nodejs around.
I just spent a Saturday about two weeks ago porting my neovim config from vimscript to lua and from CoC to the native LSP client. As it stands right now, the trade offs are many:
- there is no straight forward way to add ESLint, had to end up using a project that takes command line input and transforms it into LSP - works great but feels kind of hacky. Setting up ESLint via CoC is of course a single command.
- if you use CSS-in-JS there is no option for you right now in terms of syntax highlighting and completion. This was also a single command to setup in CoC.
- just how much harder it is to setup stuff in general. CoC is a breeze to setup.
However, it is hard for me to overstate how much performance I got out of the switch. Everything feels super ultra snappy now, the same feel as vanilla neovim with zero plugins. It has been so worth it for me. I expect most of the issues that native LSP has to go away as the ecosystem matures a bit. Right now I'm still not sure I'd recommend the switch.
Thank you! ESLint and Emmet are now as easy to setup as any other language server. Added just 8 days ago, certainly nice to use things which are actively developed and taken care of.
I had a lot of trouble getting this to work, I eventually found this init.lua from one of the neovim maintainers which gives you a working nvim-cmp setup out of the box, along with a few other useful neovim things:
12 comments
[ 2.9 ms ] story [ 61.3 ms ] threadI understand that for Neovim native LSP and lua based plugins are the way forward but curious whether anything is to be gained at this point by adopting this instead of CoC. As a consumer I don't really mind having nodejs around.
[1] https://github.com/neoclide/coc.nvim
- there is no straight forward way to add ESLint, had to end up using a project that takes command line input and transforms it into LSP - works great but feels kind of hacky. Setting up ESLint via CoC is of course a single command.
- if you use CSS-in-JS there is no option for you right now in terms of syntax highlighting and completion. This was also a single command to setup in CoC.
- just how much harder it is to setup stuff in general. CoC is a breeze to setup.
However, it is hard for me to overstate how much performance I got out of the switch. Everything feels super ultra snappy now, the same feel as vanilla neovim with zero plugins. It has been so worth it for me. I expect most of the issues that native LSP has to go away as the ecosystem matures a bit. Right now I'm still not sure I'd recommend the switch.
Just a heads up for you:
eslint support apparently got added recently: https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG....
CSS-in-JS can be enabled with a extension for typescript: https://github.com/microsoft/typescript-styled-plugin
you need a jsconfig.json, but it works fine :)
https://github.com/nvim-lua/kickstart.nvim/blob/master/init....