feat(nvim): switch virtual_lines
This commit is contained in:
@@ -37,7 +37,10 @@ local extra_config = {
|
|||||||
settings = {
|
settings = {
|
||||||
rust_analyzer = {
|
rust_analyzer = {
|
||||||
check = {
|
check = {
|
||||||
command = "clippy"
|
command = "cargo clippy"
|
||||||
|
},
|
||||||
|
diagnostics = {
|
||||||
|
experimental = true,
|
||||||
},
|
},
|
||||||
formatting = {
|
formatting = {
|
||||||
command = { "rustfmt" },
|
command = { "rustfmt" },
|
||||||
@@ -47,22 +50,6 @@ local extra_config = {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
local on_attach = function(client, bufnr)
|
|
||||||
vim.api.nvim_create_autocmd("CursorHold", {
|
|
||||||
buffer = bufnr,
|
|
||||||
callback = function()
|
|
||||||
local opts = {
|
|
||||||
focusable = false,
|
|
||||||
close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" },
|
|
||||||
border = "rounded",
|
|
||||||
source = "always",
|
|
||||||
prefix = " ",
|
|
||||||
scope = "line",
|
|
||||||
}
|
|
||||||
vim.diagnostic.open_float(nil, opts)
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||||
capabilities = vim.lsp.protocol.make_client_capabilities()
|
capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||||
capabilities.textDocument.foldingRange = {
|
capabilities.textDocument.foldingRange = {
|
||||||
@@ -73,7 +60,6 @@ local lspconfig = require("lspconfig")
|
|||||||
for _, server in ipairs(servers) do
|
for _, server in ipairs(servers) do
|
||||||
local extra = extra_config[server] or {}
|
local extra = extra_config[server] or {}
|
||||||
local config = {
|
local config = {
|
||||||
on_attach = on_attach,
|
|
||||||
capabilities = capabilities
|
capabilities = capabilities
|
||||||
}
|
}
|
||||||
for k, v in pairs(extra) do
|
for k, v in pairs(extra) do
|
||||||
@@ -82,7 +68,29 @@ for _, server in ipairs(servers) do
|
|||||||
lspconfig[server].setup(config)
|
lspconfig[server].setup(config)
|
||||||
end
|
end
|
||||||
|
|
||||||
vim.diagnostic.config({
|
local diag_config1 = {
|
||||||
virtual_lines = true
|
virtual_text = {
|
||||||
})
|
severity = {
|
||||||
|
max = vim.diagnostic.severity.WARN,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
virtual_lines = {
|
||||||
|
severity = {
|
||||||
|
min = vim.diagnostic.severity.ERROR,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
local diag_config2 = {
|
||||||
|
virtual_text = true,
|
||||||
|
virtual_lines = false,
|
||||||
|
}
|
||||||
|
vim.diagnostic.config(diag_config1)
|
||||||
|
local diag_config_basic = false
|
||||||
|
vim.keymap.set("n", "<leader>ll", function()
|
||||||
|
diag_config_basic = not diag_config_basic
|
||||||
|
if diag_config_basic then
|
||||||
|
vim.diagnostic.config(diag_config2)
|
||||||
|
else
|
||||||
|
vim.diagnostic.config(diag_config1)
|
||||||
|
end
|
||||||
|
end, { desc = "Toggle diagnostic virtual_lines" })
|
||||||
|
|||||||
Reference in New Issue
Block a user