I actually tried out Packer and converted my neovim-only plugins from Plugger to Packer. It's not bad!
And so I ended up with two competing plugin managers in my text editor 😅
One thing I didn't initially understand is that #Neovim's built-in LSP client isn't enough to get autocmpletion!
First, you need to configure which Language Server should be spawned for each file type you open. For this, there's nvim-lspconfig, which is maintained by the Neovim devs as a separate project:
But wait! The LSP configuration needs to be configured... in Lua, of course! And don't forget to define some mappings for "Go To Definition" etc...
Do we have #Rust completion yet? Not so fast!
You see, #Neovim has builtin completion, but what you really want for programming is *autocompletion*, which requires an external plugin:
It says nvim-cmp is the recommended plugin, so it will be easy to integrate, right?
Easy peasy! My nvim-cmp configuration is only... 73 lines of #Lua config!
I copy-pasted most of the config, and when it breaks I'm not quite sure how to debug it.
In fact, it's not working right now. If I open a Rust project and start typing, I get plenty of useless snippets instead of the semantic completion. I see rust-analyzer running and eating CPU time... I even see inline errors... so why?
Hey, it seems I gave up too fast!
My semantic completions were already in the menu, just BELOW the useless snippets...
I guess I just I need to tweak my config to reorder them... and also use TAB to complete (instead of Enter)...
...and also figure out how to theme the menu so I don't get flashes of shocking pink while I'm trying to focus on the code 😂
@eriol Thank you so much for sharing!
In spite of all the sarcasm, I _do_ believe that #neovim is on the right path... we need to get rid of the awful VimL and give plugin writers a solid base to work on.
Perhaps better integration will come in time... but we also need the developers to pick good defaults to avoid the paradox of choice.
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!