Load crates on opening Cargo.toml
This commit is contained in:
parent
491985a4a3
commit
b3e45fb265
|
|
@ -1,49 +0,0 @@
|
|||
local crates = require("crates")
|
||||
require("which-key").register {
|
||||
["<leader>C"] = { name = "Crate", _ = "which_key_ignore" },
|
||||
}
|
||||
|
||||
vim.g.rustaceanvim = {
|
||||
server = {
|
||||
settings = {
|
||||
-- rust-analyzer language server configuration
|
||||
["rust-analyzer"] = {
|
||||
check = { command = "clippy" },
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
crates.setup {
|
||||
null_ls = {
|
||||
enabled = false,
|
||||
name = "Crates",
|
||||
},
|
||||
}
|
||||
|
||||
local opts = function(opts)
|
||||
return vim.tbl_deep_extend("force", { silent = true }, opts)
|
||||
end
|
||||
|
||||
vim.keymap.set("n", "<leader>Ct", crates.toggle, opts({ desc = "Crate toggle" }))
|
||||
vim.keymap.set("n", "<leader>Cr", crates.reload, opts({ desc = "Crate reload" }))
|
||||
|
||||
vim.keymap.set("n", "<leader>Cv", crates.show_versions_popup, opts({ desc = "Show version popup" }))
|
||||
vim.keymap.set("n", "<leader>Cf", crates.show_features_popup, opts({ desc = "Show features popup" }))
|
||||
vim.keymap.set("n", "<leader>Cd", crates.show_dependencies_popup, opts({ desc = "Show dependencies popup" }))
|
||||
|
||||
vim.keymap.set("n", "<leader>Cu", crates.update_crate, opts({ desc = "Update crate" }))
|
||||
vim.keymap.set("v", "<leader>Cu", crates.update_crates, opts({ desc = "Update Crates" }))
|
||||
vim.keymap.set("n", "<leader>Cp", crates.update_all_crates, opts({desc = "Update all crates" }))
|
||||
vim.keymap.set("n", "<leader>CU", crates.upgrade_crate, opts({ desc = "Upgrade crate" }))
|
||||
vim.keymap.set("v", "<leader>CU", crates.upgrade_crates, opts({ desc = "Upgrade crate" }))
|
||||
vim.keymap.set("n", "<leader>CP", crates.upgrade_all_crates, opts({ desc = "Upgrade all crates" }))
|
||||
|
||||
vim.keymap.set("n", "<leader>Cx", crates.expand_plain_crate_to_inline_table,
|
||||
opts({ desc = "Expand plain crate into inline table" }))
|
||||
vim.keymap.set("n", "<leader>CX", crates.extract_crate_into_table, opts({ desc = "Extract crate into table" }))
|
||||
|
||||
vim.keymap.set("n", "<leader>CH", crates.open_homepage, opts({ desc = "Open homepage" }))
|
||||
vim.keymap.set("n", "<leader>CR", crates.open_repository, opts({ desc = "Open repository" }))
|
||||
vim.keymap.set("n", "<leader>CD", crates.open_documentation, opts({ desc = "Open documentation" }))
|
||||
vim.keymap.set("n", "<leader>CC", crates.open_crates_io, opts({ desc = "Open crates.io" }))
|
||||
|
|
@ -75,7 +75,58 @@ vim.api.nvim_create_autocmd("LspAttach", {
|
|||
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, { desc = "Rename" })
|
||||
vim.keymap.set({ "n", "v" }, "<leader>ca", vim.lsp.buf.code_action, { desc = "Code action" })
|
||||
vim.keymap.set("n", "<leader>fm", function()
|
||||
vim.lsp.buf.format { async = true }
|
||||
vim.lsp.buf.format({ async = true })
|
||||
end, { desc = "Format Code" })
|
||||
end,
|
||||
})
|
||||
|
||||
local cargo_toml_augroup = vim.api.nvim_create_augroup("cargo_toml", { clear = true })
|
||||
vim.api.nvim_create_autocmd({"BufEnter"}, {
|
||||
group = cargo_toml_augroup,
|
||||
pattern = { "Cargo.toml" },
|
||||
callback = function()
|
||||
local crates = require("crates")
|
||||
|
||||
require("which-key").register({
|
||||
["<leader>C"] = { name = "Crate", _ = "which_key_ignore" },
|
||||
})
|
||||
|
||||
crates.setup({
|
||||
null_ls = {
|
||||
enabled = false,
|
||||
name = "Crates",
|
||||
},
|
||||
})
|
||||
|
||||
local opts = function(opts)
|
||||
return vim.tbl_deep_extend("force", { silent = true }, opts)
|
||||
end
|
||||
|
||||
vim.keymap.set("n", "<leader>Ct", crates.toggle, opts({ desc = "Crate toggle" }))
|
||||
vim.keymap.set("n", "<leader>Cr", crates.reload, opts({ desc = "Crate reload" }))
|
||||
|
||||
vim.keymap.set("n", "<leader>Cv", crates.show_versions_popup, opts({ desc = "Show version popup" }))
|
||||
vim.keymap.set("n", "<leader>Cf", crates.show_features_popup, opts({ desc = "Show features popup" }))
|
||||
vim.keymap.set("n", "<leader>Cd", crates.show_dependencies_popup, opts({ desc = "Show dependencies popup" }))
|
||||
|
||||
vim.keymap.set("n", "<leader>Cu", crates.update_crate, opts({ desc = "Update crate" }))
|
||||
vim.keymap.set("v", "<leader>Cu", crates.update_crates, opts({ desc = "Update Crates" }))
|
||||
vim.keymap.set("n", "<leader>Cp", crates.update_all_crates, opts({ desc = "Update all crates" }))
|
||||
vim.keymap.set("n", "<leader>CU", crates.upgrade_crate, opts({ desc = "Upgrade crate" }))
|
||||
vim.keymap.set("v", "<leader>CU", crates.upgrade_crates, opts({ desc = "Upgrade crate" }))
|
||||
vim.keymap.set("n", "<leader>CP", crates.upgrade_all_crates, opts({ desc = "Upgrade all crates" }))
|
||||
|
||||
vim.keymap.set(
|
||||
"n",
|
||||
"<leader>Cx",
|
||||
crates.expand_plain_crate_to_inline_table,
|
||||
opts({ desc = "Expand plain crate into inline table" })
|
||||
)
|
||||
vim.keymap.set("n", "<leader>CX", crates.extract_crate_into_table, opts({ desc = "Extract crate into table" }))
|
||||
|
||||
vim.keymap.set("n", "<leader>CH", crates.open_homepage, opts({ desc = "Open homepage" }))
|
||||
vim.keymap.set("n", "<leader>CR", crates.open_repository, opts({ desc = "Open repository" }))
|
||||
vim.keymap.set("n", "<leader>CD", crates.open_documentation, opts({ desc = "Open documentation" }))
|
||||
vim.keymap.set("n", "<leader>CC", crates.open_crates_io, opts({ desc = "Open crates.io" }))
|
||||
end,
|
||||
})
|
||||
|
|
|
|||
|
|
@ -77,3 +77,14 @@ for k, v in pairs(servers) do
|
|||
},
|
||||
}, v))
|
||||
end
|
||||
|
||||
vim.g.rustaceanvim = {
|
||||
server = {
|
||||
settings = {
|
||||
-- rust-analyzer language server configuration
|
||||
["rust-analyzer"] = {
|
||||
check = { command = "clippy" },
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
|||
Reference in New Issue