Live data from Hacker News

Neovim v0.5

github.com

121–130 of 213 posts

Re: Neovim v0.5

#121
post #119

In my experience, the built in LSP is a mixed bag. Getting language servers configured is a breeze, diagnostics and go-to definition work just fine. But trying to get autocomplete and snippets to work is an exercise in frustration. There's a handful of different hobbyist implementations which are all somewhat-maintained and somewhat work together but it's buggy and you end up needing to do 20x the effort of using VS…

I have zero problems with nvim-compe [1], it works like a breeze.

[1]: https://github.com/hrsh7th/nvim-compe

Re: Neovim v0.5

#122
post #119

In my experience, the built in LSP is a mixed bag. Getting language servers configured is a breeze, diagnostics and go-to definition work just fine. But trying to get autocomplete and snippets to work is an exercise in frustration. There's a handful of different hobbyist implementations which are all somewhat-maintained and somewhat work together but it's buggy and you end up needing to do 20x the effort of using VS…

Yeah coc.nvim is a much better experience in my usage. I want to love the native LSP, but the hodgepodge of in-progress or abandoned completion, suggestion, signature, diagnostic, etc. UI is a big pain point right now.

For example I have to install 3 different plugins to get all the LSP UI so it means I have 3 different opinions on how various parts of its UI should look and it's a real mess--the popups for suggestions as I type are totally different looking compared to the popups to show function signatures (and each has their own bespoke way of being configured).

Re: Neovim v0.5

#123
post #102

Earlier quoted context omitted.

I'll give you my perspective (I'm just an average user): 1) nvim's built in lsp client is entirely in lua and afaik none of it is related to the nvim core. It is not inconceivable to just move it to a plugin but pretty much everyone will have to depend on it. I think for something as powerful as lsp, it might as well be bundled. 2) the built in lsp client in lua is EXTREMELY customizable and lightweight. In fact, a l…

> Putting the onus on plugin writers to rewrite essentially the same functionality is not ideal. This goes back to my biggest complaint with the vim ecosystem (and emacs has the same problem): no dependency management. Almost every plugin has to be self contained, because if you depend on another plugin, then you need to rely on you users to manually install that plugin.

Emacs does not have the same problem. When you install a plug-in it will install the dependencies as well.

However one thing I wish emacs packages had was the ability to version dependencies. Right now you can get a broken plug-in because the upstream package introduced breaking changes.

Re: Neovim v0.5

#124
post #97
post #78

Earlier quoted context omitted.

Funny, I switched from neovim to VSCode + the vim plugin. Sure, it doesn't have everything I would do with vim supported, but it's enough and overall it's a better experience

I tried switching to VSCode with the vim plugin. but I got frustrated with vim keys that didn't quite work right on VSCode. And iirc configuring custom vim-style bindings was quite a pain. And then there were the neovim/vim plugins that I used that didn't have good equivalents in VSCode, especially that worked well with the vim plugin. Also VSCode is much, much more resource hungry.

You were probably using the more popular vscodevim with its 2.7M installs. Try vscode-neovim with its merely 93K installs.

vscode-neovim is designed for and requires neovim 0.5. I hate, hate, hated vscodevim but vscode-neovim is very good, very usable; I stopped using VSC altogether until vscode-neovim got real. It's not perfect, it still needs work on command mode, but it's quite usable. I even got rid of my other vims (MacVim, VimR, ...).

Re: Neovim v0.5

#125
post #119

In my experience, the built in LSP is a mixed bag. Getting language servers configured is a breeze, diagnostics and go-to definition work just fine. But trying to get autocomplete and snippets to work is an exercise in frustration. There's a handful of different hobbyist implementations which are all somewhat-maintained and somewhat work together but it's buggy and you end up needing to do 20x the effort of using VS…

I have zero problems with nvim-compe [1], it works like a breeze. [1]: https://github.com/hrsh7th/nvim-compe

I didn't have issues with compe until I started using snippets, at which point I needed to manually modify the lua code that they provide for you (to own and maintain yourself) for tab completion. I had to spend a fair amount of time getting the right compe - snippet provider setup that would populate correctly.

Once I added snippets and modified the completion code, the ability to hit "Enter" to select an autocompletion selection broke and I couldn't manage to fix it without preventing the key from entering a newline in insert mode. I ended up just remapping it to a new key. But even then, it's still a little quirky- if I type some text and hit tab expecting to add some spacing, I'd instead get prompted for autocomplete suggestions I wasn't looking for.

I get that all this is fun for some people, but I just want sane defaults that work like VS code.

Re: Neovim v0.5

#126
post #19

Is anybody else uncomfortable about the idea that an LSP client is now baked into the editor (as opposed to being a plugin)? Are there big performance gains to this approach? While LSP is great, it basically came from nowhere in the last couple of years. My concern: what if something definitively better comes along in another couple years, and we're "stuck" with this baked into the editor? For context, using ALE, I'v…

For anyone else wondering: • LSP means Language Server Protocol [0] • ALE means Asynchronous Lint Engine [1] [0] https://microsoft.github.io/language-server-protocol/ [1] https://github.com/dense-analysis/ale

ALE is amazingly useful even for curmudgeonly old timer Vim users. My one gripe is that I want the warnings to disappear once I begin modifying the buffer, which I have achieved. Can post the relevant part of my vimrc if desired.

Re: Neovim v0.5

#127
post #21

Could someone sell me on why I should switch to this from regular Vim?

I did it a while back to see if I would notice anything different. I moved to vim a few years ago on a whim after using emacs for decades, so I am far from a vim power user, but with the modest configuration I use, I couldn't tell any difference, so I figured I would keep using it until I ran into a situation where neovim failed in some way that vim didn't. So far (maybe 6 months?) I haven't run into any issues, and I don't think I've added any plugins to my setup that would only work with neovim. This is all to say, it's probably a fairly easy experiment to switch with a fairly low risk of issues if you switch back.

I'm probably a bad neovim reviewer though since I'm not really keen to try the LSP stuff. I wind up working in a lot of different languages and inevitably I feel like getting accustomed to completion working well in language A only to have it fail with B is more annoying than having no completion at all. I'm curious whether I'll wind up using anything which is only possible in neovim.

Re: Neovim v0.5

#128
post #119

In my experience, the built in LSP is a mixed bag. Getting language servers configured is a breeze, diagnostics and go-to definition work just fine. But trying to get autocomplete and snippets to work is an exercise in frustration. There's a handful of different hobbyist implementations which are all somewhat-maintained and somewhat work together but it's buggy and you end up needing to do 20x the effort of using VS…

I have zero problems with nvim-compe [1], it works like a breeze. [1]: https://github.com/hrsh7th/nvim-compe

Last I used it it was often missing completion candidates https://github.com/hrsh7th/nvim-compe/issues/248 which was extremely frustrating but apparently hard to fix

Re: Neovim v0.5

#129
post #119

In my experience, the built in LSP is a mixed bag. Getting language servers configured is a breeze, diagnostics and go-to definition work just fine. But trying to get autocomplete and snippets to work is an exercise in frustration. There's a handful of different hobbyist implementations which are all somewhat-maintained and somewhat work together but it's buggy and you end up needing to do 20x the effort of using VS…

Yeah coc.nvim is a much better experience in my usage. I want to love the native LSP, but the hodgepodge of in-progress or abandoned completion, suggestion, signature, diagnostic, etc. UI is a big pain point right now. For example I have to install 3 different plugins to get all the LSP UI so it means I have 3 different opinions on how various parts of its UI should look and it's a real mess--the popups for suggestio…

This has been my experience as well. Coc.nvim was far smoother sailing.

Re: Neovim v0.5

#130

One little-talked about advantage of Lua support is that you can now write your vim config/scripts in one of the various Lua transpilers like moonscript [0], or maybe even typescript [1]! [0]: https://github.com/leafo/moonscript [1]: https://github.com/TypeScriptToLua/TypeScriptToLua [2]: https://github.com/hengestone/lua-languages

I am curious if there are any major packages written in lua for neovim? I wonder if ecosystem fragmentation will become an issue (vimscript vs Lua).
Post reply on HN