Review: The Perfect Neovim Setup For Rust Video (11min)
Overview
Notes
Fuck this video. They spent 5 minutes (~half the video) showing how to setup rust analyser they deleted it, said "yeah, sorry about that" and used something else instead.
Because I'm taking notes that took about 20min to get to the point where they said they weren't going to use any of that.
Don't do that.
They have a bunch of links in the description to their person stuff, but no links to all the various plugin which would have been much more helpful
Plugin links are in the references
The most useful thing was learning about the DAP (Debug Adapter Protocol) Neovim plugin for debugging Rust code. Other than that I didn't get much out of it and am still miffed that it burned time by showing me something that it didn't actually use
Details
Notes
They use nvchat for the base configuration (they have a video on that too)
They use rust analyzer for the LSP
Recommended way to install analyzer is with rustup
Can also install analyzer with mason plugin in nvim which is how they do it. can't tell if there's a practical difference
Looks like the file tree that's installed with nvchad is NvimTree
Shows how to do lua plugin installs via mason I'm not messing with that. (I'm mainly looking to see what they tools they use in general.
A little tough to figure out the different setup stuff since I'm not using nvchad, but maybe it's all the same? tbd
Files are setup in `~/.config/nvim/lua/custom`` which you can create if you don't have it.
Talks about setting up the chadrc.lua file to call other plugins, but I'm not using that since I'm using kickstart.
Talks about setting up `on_attach`` and `capabilities`` in the lsp config. Looks like that's already setup in the kickstart.
For kickstart config there was no options in the rust analyzer portion. I added `on_attach = on_attach`` but it broke so I removed it
The video said to put this in as well but it threw a warning for me so I skipped it
```lua capabilities = capabilities, ```
There were some other settings I skipped as tell for limiting to rust files and setting the default root to the Cargo.toml, but that already seems to be working for me.
Talks about auto formatting on save with the official `rust.vim`` plugin. I've already got that installed and running.
Fuck this. They spent 5 minutes showing how to setup the rust analyzer stuff then just deleted it to use something else instead.
They switched over to using `rust-tools`` for some more debugging functionality
says that rust-tools uses rust-analyzer under the hood
They had an issue with things not loading in the proper order so they setup a dependency call to fix the order. I'm not messing with that since things are so different for my setup.
Need to install DAP (Debug Adapter Protocol) plugin in nvim
Also need to install lldb which is not a neovim thing. They installed it with pacman on arch linux.
I tried to do `brew lldb`` on my mac and it didn't work
Recommends adding keymapping to open the debugger and step through it (season to taste on that). They show how to setup keymaps in chad. I just use the main `~/.config/nvim/init.lua`` for now
DAP does a bunch of stuff that's worth looking at.
They use the crates nvim plugin for working with the Cargo.toml crates to see versions and open docs. I'm not interested in that at this point.
The crates plug require another plugin to work for them (nvim-cmp - compleciton engine)
References
-
A completion engine plugin for neovim written in Lua.
-
rust crates plugin for neovim
-
-
- a Debug Adapter Protocol client implementation for Neovim