native-lsp fixes
This commit is contained in:
@@ -565,6 +565,28 @@ if not NV_DARCULA_ENABLE_COC then
|
|||||||
function M.lsp()
|
function M.lsp()
|
||||||
local opts = {remap = false, silent = true}
|
local opts = {remap = false, silent = true}
|
||||||
|
|
||||||
|
km.vmap(
|
||||||
|
km.leader "gs",
|
||||||
|
function()
|
||||||
|
telescope_builtin.live_grep({default_text = utils.get_visual_text()})
|
||||||
|
end,
|
||||||
|
opts
|
||||||
|
)
|
||||||
|
km.nmap(
|
||||||
|
km.leader "gs",
|
||||||
|
function()
|
||||||
|
telescope_builtin.live_grep({default_text = utils.cword()})
|
||||||
|
end,
|
||||||
|
opts
|
||||||
|
)
|
||||||
|
km.map(
|
||||||
|
km.leader "is",
|
||||||
|
function()
|
||||||
|
local status = vim.lsp.status()
|
||||||
|
vim.notify(status ~= "" and status or "None", vim.log.levels.INFO)
|
||||||
|
end,
|
||||||
|
opts
|
||||||
|
)
|
||||||
km.nmap(km.leader "dl", vim.diagnostic.setloclist, opts)
|
km.nmap(km.leader "dl", vim.diagnostic.setloclist, opts)
|
||||||
km.nmap(km.leader "dw", telescope_builtin.diagnostics, opts)
|
km.nmap(km.leader "dw", telescope_builtin.diagnostics, opts)
|
||||||
km.nmap(km.leader "fs", telescope_builtin.lsp_document_symbols, opts)
|
km.nmap(km.leader "fs", telescope_builtin.lsp_document_symbols, opts)
|
||||||
@@ -635,14 +657,41 @@ if not NV_DARCULA_ENABLE_COC then
|
|||||||
|
|
||||||
local opts = {remap = false, silent = true, buffer = ev.buf}
|
local opts = {remap = false, silent = true, buffer = ev.buf}
|
||||||
|
|
||||||
|
km.set({"n", "x"}, km.leader "a", vim.lsp.buf.code_action, opts)
|
||||||
|
km.nmap(km.leader "ac", vim.lsp.buf.code_action, opts)
|
||||||
km.nmap(km.leader "aw", vim.lsp.buf.code_action, opts)
|
km.nmap(km.leader "aw", vim.lsp.buf.code_action, opts)
|
||||||
km.nmap(km.leader "ca", vim.lsp.buf.code_action, opts)
|
km.nmap(km.leader "ca", vim.lsp.buf.code_action, opts)
|
||||||
|
km.nmap(km.leader "cl", vim.lsp.codelens.run, opts)
|
||||||
km.nmap(km.leader "gD", vim.lsp.buf.declaration, opts)
|
km.nmap(km.leader "gD", vim.lsp.buf.declaration, opts)
|
||||||
km.nmap(km.leader "gd", telescope_builtin.lsp_definitions, opts)
|
km.nmap(km.leader "gd", telescope_builtin.lsp_definitions, opts)
|
||||||
km.nmap(km.leader "gi", telescope_builtin.lsp_implementations, opts)
|
km.nmap(km.leader "gi", telescope_builtin.lsp_implementations, opts)
|
||||||
km.nmap(km.leader "gr", telescope_builtin.lsp_references, opts)
|
km.nmap(km.leader "gr", telescope_builtin.lsp_references, opts)
|
||||||
km.nmap(km.leader "gy", telescope_builtin.lsp_type_definitions, opts)
|
km.nmap(km.leader "gy", telescope_builtin.lsp_type_definitions, opts)
|
||||||
km.nmap(km.leader "rn", vim.lsp.buf.rename, opts)
|
km.nmap(km.leader "rn", vim.lsp.buf.rename, opts)
|
||||||
|
if client.name == "clangd" then
|
||||||
|
km.nmap(
|
||||||
|
km.leader "gh",
|
||||||
|
function()
|
||||||
|
vim.cmd("LspClangdSwitchSourceHeader")
|
||||||
|
end,
|
||||||
|
opts
|
||||||
|
)
|
||||||
|
end
|
||||||
|
km.nmap(
|
||||||
|
km.leader "qf",
|
||||||
|
function()
|
||||||
|
vim.lsp.buf.code_action({apply = true, context = {only = {"quickfix"}}})
|
||||||
|
end,
|
||||||
|
opts
|
||||||
|
)
|
||||||
|
km.set(
|
||||||
|
{"n", "x"},
|
||||||
|
km.leader "rs",
|
||||||
|
function()
|
||||||
|
vim.lsp.buf.selection_range(1)
|
||||||
|
end,
|
||||||
|
opts
|
||||||
|
)
|
||||||
|
|
||||||
km.vmap(
|
km.vmap(
|
||||||
km.leader "ac",
|
km.leader "ac",
|
||||||
|
|||||||
@@ -69,18 +69,80 @@ for _, name in pairs(NV_DARCULA_MASON_LSP_LIST) do
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
vim.lsp.config(name, {capabilities = cspell_capabilities})
|
vim.lsp.config(
|
||||||
|
name,
|
||||||
|
{
|
||||||
|
capabilities = cspell_capabilities,
|
||||||
|
init_options = {
|
||||||
|
defaultSettings = {
|
||||||
|
enabledLanguageIds = NV_DARCULA_CSPELL_LANGUAGES,
|
||||||
|
import = {"./"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
elseif name == "jdtls" then
|
||||||
|
local lombok =
|
||||||
|
vim.fs.joinpath(
|
||||||
|
vim.fn.stdpath("data"),
|
||||||
|
"mason",
|
||||||
|
"packages",
|
||||||
|
"jdtls",
|
||||||
|
"lombok.jar"
|
||||||
|
)
|
||||||
|
vim.env.JDTLS_JVM_ARGS =
|
||||||
|
table.concat(
|
||||||
|
{
|
||||||
|
"-XX:+UseParallelGC",
|
||||||
|
"-XX:GCTimeRatio=4",
|
||||||
|
"-XX:AdaptiveSizePolicyWeight=90",
|
||||||
|
"-Dsun.zip.disableMemoryMapping=true",
|
||||||
|
"-Xmx4G",
|
||||||
|
"-Xms4G",
|
||||||
|
"-Xlog:disable",
|
||||||
|
"-javaagent:" .. lombok
|
||||||
|
},
|
||||||
|
" "
|
||||||
|
)
|
||||||
|
|
||||||
|
vim.lsp.config(
|
||||||
|
name,
|
||||||
|
{
|
||||||
|
settings = {
|
||||||
|
java = {
|
||||||
|
import = {maven = {enabled = true}},
|
||||||
|
jdt = {
|
||||||
|
ls = {
|
||||||
|
lombokSupport = {enabled = true},
|
||||||
|
vmargs = vim.env.JDTLS_JVM_ARGS
|
||||||
|
}
|
||||||
|
},
|
||||||
|
maven = {
|
||||||
|
downloadSources = false,
|
||||||
|
updateSnapshots = true
|
||||||
|
},
|
||||||
|
referencesCodeLens = {enabled = NV_DARCULA_ENABLE_CODE_LENS},
|
||||||
|
trace = {server = "verbose"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
elseif name == "lua_ls" then
|
elseif name == "lua_ls" then
|
||||||
vim.lsp.config(
|
vim.lsp.config(
|
||||||
name,
|
name,
|
||||||
{
|
{
|
||||||
settings = {
|
settings = {
|
||||||
Lua = {
|
Lua = {
|
||||||
|
codeLens = {enable = NV_DARCULA_ENABLE_CODE_LENS},
|
||||||
completion = {
|
completion = {
|
||||||
callSnippet = "Replace",
|
callSnippet = "Replace",
|
||||||
keywordSnippet = "Both"
|
keywordSnippet = "Both"
|
||||||
},
|
},
|
||||||
diagnostics = {globals = NV_DARCULA_LUA_GLOBALS},
|
diagnostics = {
|
||||||
|
globals = NV_DARCULA_LUA_GLOBALS,
|
||||||
|
workspaceDelay = 30000
|
||||||
|
},
|
||||||
|
hint = {enable = NV_DARCULA_ENABLE_INLAY_HINTS},
|
||||||
runtime = {
|
runtime = {
|
||||||
version = "LuaJIT"
|
version = "LuaJIT"
|
||||||
},
|
},
|
||||||
@@ -97,9 +159,9 @@ for _, name in pairs(NV_DARCULA_MASON_LSP_LIST) do
|
|||||||
-- "core",
|
-- "core",
|
||||||
-- "opt"
|
-- "opt"
|
||||||
-- )
|
-- )
|
||||||
}
|
},
|
||||||
-- maxPreload = 1000,
|
maxPreload = 10000,
|
||||||
-- preloadFileSize = 200
|
preloadFileSize = 3000
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ utils.augroup_with_autocmd(
|
|||||||
end
|
end
|
||||||
|
|
||||||
if client:supports_method("textDocument/inlayHint") then
|
if client:supports_method("textDocument/inlayHint") then
|
||||||
vim.lsp.inlay_hint.enable(NV_DARCULA_ENABLE_INLAY_HINTS)
|
vim.lsp.inlay_hint.enable(NV_DARCULA_ENABLE_INLAY_HINTS, {bufnr = ev.buf})
|
||||||
end
|
end
|
||||||
|
|
||||||
require("darcula.keymaps").lsp_on_attach(ev)
|
require("darcula.keymaps").lsp_on_attach(ev)
|
||||||
|
|||||||
@@ -28,12 +28,14 @@ require("nvim-lightbulb").setup(
|
|||||||
hide_in_unfocused_buffer = true,
|
hide_in_unfocused_buffer = true,
|
||||||
link_highlights = false,
|
link_highlights = false,
|
||||||
sign = {
|
sign = {
|
||||||
enabled = true,
|
enabled = not NV_DARCULA_ENABLE_VIRTUAL_TEXT,
|
||||||
text = symbols.status.info,
|
text = symbols.status.info,
|
||||||
hl = "WarningSign"
|
hl = "WarningSign"
|
||||||
},
|
},
|
||||||
virtual_text = {
|
virtual_text = {
|
||||||
enabled = false
|
enabled = NV_DARCULA_ENABLE_VIRTUAL_TEXT,
|
||||||
|
text = symbols.status.info,
|
||||||
|
hl = "DiagnosticVirtualTextInfo"
|
||||||
},
|
},
|
||||||
float = {
|
float = {
|
||||||
enabled = false
|
enabled = false
|
||||||
|
|||||||
Reference in New Issue
Block a user