/ nvim / .config / nvim / lua / plugins / rust.lua
rust.lua
 1  return {
 2  	'mrcjkb/rustaceanvim',
 3  	version = '^6',
 4  	lazy = false,
 5  	ft = { 'rust' },
 6  	config = function()
 7  		vim.g.rustaceanvim = {
 8  			tools = {
 9  				hover_actions = {
10  					auto_focus = false,
11  				},
12  			},
13  			server = {
14  				auto_attach = true,
15  				settings = {
16  					['rust-analyzer'] = {
17  						checkOnSave = true,
18  						cargo = {
19  							allFeatures = true,
20  						},
21  					},
22  				},
23  
24  				on_attach = function(client, bufnr)
25  					vim.keymap.set("n", "<leader>ca", function()
26  						vim.cmd.RustLsp('codeAction')
27  					end, { buffer = bufnr, desc = "Rust code action" })
28  
29  					vim.keymap.set("n", "<leader>dr", function()
30  						vim.cmd.RustLsp('debuggables')
31  					end, { buffer = bufnr, desc = "Rust debuggables" })
32  				end,
33  			},
34  			-- dap = {},
35  		}
36  	end,
37  }