add rust config
This commit is contained in:
parent
bc28cdeb46
commit
3d79ebb7c7
57
init.lua
57
init.lua
|
@ -448,7 +448,7 @@ local servers = {
|
||||||
-- clangd = {},
|
-- clangd = {},
|
||||||
-- gopls = {},
|
-- gopls = {},
|
||||||
-- pyright = {},
|
-- pyright = {},
|
||||||
-- rust_analyzer = {},
|
rust_analyzer = {},
|
||||||
-- tsserver = {},
|
-- tsserver = {},
|
||||||
-- html = { filetypes = { 'html', 'twig', 'hbs'} },
|
-- html = { filetypes = { 'html', 'twig', 'hbs'} },
|
||||||
|
|
||||||
|
@ -474,6 +474,54 @@ mason_lspconfig.setup {
|
||||||
ensure_installed = vim.tbl_keys(servers),
|
ensure_installed = vim.tbl_keys(servers),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
local rust_tools_config = {
|
||||||
|
-- executor = require("rust-tools.executors").quickfix,
|
||||||
|
|
||||||
|
inlay_hints = {
|
||||||
|
auto = true,
|
||||||
|
parameter_hints_prefix = "<-",
|
||||||
|
other_hints_prefix = "->",
|
||||||
|
},
|
||||||
|
server = {
|
||||||
|
standalone = false,
|
||||||
|
},
|
||||||
|
dap = function()
|
||||||
|
local install_root_dir = vim.fn.stdpath "data" .. "/mason"
|
||||||
|
local extension_path = install_root_dir .. "/packages/codelldb/extension/"
|
||||||
|
local codelldb_path = extension_path .. "adapter/codelldb"
|
||||||
|
local liblldb_path = extension_path .. "lldb/lib/liblldb.so"
|
||||||
|
|
||||||
|
return {
|
||||||
|
adapter = require("rust-tools.dap").get_codelldb_adapter(codelldb_path, liblldb_path)
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
|
||||||
|
local rust_tools_rust_server = {
|
||||||
|
on_attach = on_attach,
|
||||||
|
settings = {
|
||||||
|
-- List of all options:
|
||||||
|
-- https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/user/generated_config.adoc
|
||||||
|
["rust-analyzer"] = {
|
||||||
|
check = {
|
||||||
|
command = "cranky",
|
||||||
|
-- extraArgs = { "--all", "--", "-W", "clippy::all" },
|
||||||
|
},
|
||||||
|
|
||||||
|
-- rust-analyzer.server.extraEnv
|
||||||
|
-- neovim doesn"t have custom client-side code to honor this setting, it doesn't actually work
|
||||||
|
-- https://github.com/neovim/nvim-lspconfig/issues/1735
|
||||||
|
-- it's in init.vim as a real env variable
|
||||||
|
--
|
||||||
|
-- server = {
|
||||||
|
-- extraEnv = {
|
||||||
|
-- CARGO_TARGET_DIR = "target/rust-analyzer-check"
|
||||||
|
-- }
|
||||||
|
-- }
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
mason_lspconfig.setup_handlers {
|
mason_lspconfig.setup_handlers {
|
||||||
function(server_name)
|
function(server_name)
|
||||||
require('lspconfig')[server_name].setup {
|
require('lspconfig')[server_name].setup {
|
||||||
|
@ -484,7 +532,12 @@ mason_lspconfig.setup_handlers {
|
||||||
}
|
}
|
||||||
end,
|
end,
|
||||||
["rust_analyzer"] = function()
|
["rust_analyzer"] = function()
|
||||||
require("rust-tools").setup {}
|
require("rust-tools").setup {
|
||||||
|
capabilities = capabilities,
|
||||||
|
-- add from https://github.com/Gremious/configs/blob/main/lua/config/lsp.lua#L110
|
||||||
|
tools = rust_tools_config,
|
||||||
|
server = rust_tools_rust_server,
|
||||||
|
}
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,9 +5,9 @@ return {
|
||||||
config = function()
|
config = function()
|
||||||
local crates = require('crates')
|
local crates = require('crates')
|
||||||
crates.setup()
|
crates.setup()
|
||||||
require('cmp').setup.buffer({
|
-- require('cmp').setup.buffer({
|
||||||
sources = { { name = 'crates' } }
|
-- sources = { { name = 'crates' } }
|
||||||
})
|
-- })
|
||||||
crates.show()
|
crates.show()
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,11 @@
|
||||||
return {
|
return {
|
||||||
{
|
|
||||||
"simrat39/rust-tools.nvim",
|
"simrat39/rust-tools.nvim",
|
||||||
dependencies = {
|
dependencies = {
|
||||||
'neovim/nvim-lspconfig',
|
'neovim/nvim-lspconfig',
|
||||||
'nvim-lua/plenary.nvim',
|
'nvim-lua/plenary.nvim',
|
||||||
'mfussenegger/nvim-dap',
|
'mfussenegger/nvim-dap',
|
||||||
},
|
},
|
||||||
opts = function(_, _)
|
-- config = function()
|
||||||
require("rust-tools").setup({})
|
-- require("rust-tools").setup({})
|
||||||
end,
|
-- end,
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue