Dreams Of Code Video
From this youtube video His config from that video is on this github
neovim for rust
- nvchad
- also look up astro is another neovim config
install chad (do this in ~/.config/chad)
and use e.g. NVIM_APPNAME=chad when launching)
code completion
lsp server
rust analyzer:
rustup component add rust-analyzer
or
nvim
lua/custom/chadrc.lua
M.ui = { theme = 'catppuccin'}
M.plugins = 'custom.plugins'
create lua/custom/plugins.lua
===
local plugins {
"williamboman/mason.nvim",
opts = {
ensure_installed = {
"rust-analyzer",
},
},
}
return plugins
===
reload nvim
===
:MasonInstallAll
===
change lsp config to rust-analyzer
in lua/custom/plugins.lua
{
"neovim/nvim-lspconfig",
config = function()
require "plugins.configs.lspconfig",
require "custom.configs.lspcnfig"
end,
},
}
===
create lua/custom/configs/lspconfig.lua
local on_attach = require("plugins.configs.lspconfig").on_attach
local capabilities = require("plugins.configs.lspconfig").capabilities
local lspconfig = require("lspconfig")
local util = require "lspconfig/util"
lspconfig.rust_analyzer.setup({
on_attach = on_attach,
capabilities = capabilities,
filetypes = { "rust" },
root_dir = util.root_pattern("Cargo.toml"),
settings = {
[ 'rust-analyzer' ] = {
cargo = {
allFeatures = true,
},
},
},
})
Format on save:
rust-vim plugin
plugins = {
...
{
"rust-lang/rust.vim",
ft = "rust",
init = function()
vim.g.rustfmt_autosave = 1
end
},
}