The words Under construction in black text on a yellow background with diagonal black stipes surrounding it
I'm in the process of moving my site. It's still a work in progress. Please excuse the mess and broken links.

Review: The Perfect Neovim Setup For Rust Video (11min)

TODO: Pull subtitle into page object

Overview

Notes

Details

Notes

Debugging Stuff

I'm moving stuff around right now. All this below is helping me figure out where to put stuff

        -- title

Review: The Perfect Neovim Setup For Rust Video (11min)

-- youtube
-- mh_EJhH49Ms


-- h2

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


-- h2 

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)



-- ref
-- title: nvim-cmp
-- subtitle: A completion engine plugin for neovim written in Lua.
-- url: https://github.com/hrsh7th/nvim-cmp

-- ref
-- title: crate.nvim
-- subtitle: rust crates plugin for neovim
-- url: https://github.com/Saecki/crates.nvim


-- ref
-- title: rust-tools plugin 
-- url: https://github.com/simrat39/rust-tools.nvim


-- ref
-- title: Neovim DAP plugin
-- subtitle: - a Debug Adapter Protocol client implementation for Neovim
-- url: https://github.com/mfussenegger/nvim-dap


-- categories
-- Rust
-- Neovim
-- Reviews

-- metadata
-- date: 2023-07-23 10:50:09
-- id: 2syfb8tr
-- site: aws
-- type: review
-- status: published