Dup Ver Goto 📝

Setup For Rust

PT2/editor/nvim/rust vim nvim neovim rust does not exist
To
86 lines, 195 words, 1682 chars Page 'NvimRustSetup_01' does not exist.

Dreams Of Code Video

From this youtube video His config from that video is on this github

neovim for rust

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
  },
}