lsp: unconditionally load setup
This commit is contained in:
parent
5076180f27
commit
6d72a4c713
1 changed files with 93 additions and 119 deletions
82
init.lua
82
init.lua
|
|
@ -282,38 +282,14 @@ cmp.setup({
|
|||
}),
|
||||
})
|
||||
---- LSP ----
|
||||
vim.g.lsp_loaded = false
|
||||
vim.api.nvim_create_autocmd({ "FileType" }, {
|
||||
pattern = {
|
||||
"c",
|
||||
"cpp",
|
||||
"dot",
|
||||
"go",
|
||||
"javascript",
|
||||
"json",
|
||||
"latex",
|
||||
"lua",
|
||||
"python",
|
||||
"rust",
|
||||
"terraform",
|
||||
"tex",
|
||||
"toml",
|
||||
"typescript",
|
||||
"typst",
|
||||
},
|
||||
callback = function()
|
||||
if vim.g.lsp_loaded == true then
|
||||
return
|
||||
end
|
||||
vim.g.lsp_loaded = true
|
||||
vim.cmd("packadd nvim-lspconfig")
|
||||
vim.cmd("packadd lsp_lines.nvim")
|
||||
-- vim.cmd("packadd lsp-timeout.nvim")
|
||||
vim.cmd("packadd nvim-lspconfig")
|
||||
vim.cmd("packadd lsp_lines.nvim")
|
||||
-- vim.cmd("packadd lsp-timeout.nvim")
|
||||
|
||||
local lsp = require("lspconfig")
|
||||
-- Use an on_attach function to only map the following keys
|
||||
-- after the language server attaches to the current buffer
|
||||
local on_lsp_attach = function(_client, _bufnr)
|
||||
local lsp = require("lspconfig")
|
||||
-- Use an on_attach function to only map the following keys
|
||||
-- after the language server attaches to the current buffer
|
||||
local on_lsp_attach = function(_client, _bufnr)
|
||||
vim.keymap.set("n", "gD", vim.lsp.buf.declaration)
|
||||
vim.keymap.set("n", "gd", vim.lsp.buf.definition)
|
||||
vim.keymap.set("n", "K", vim.lsp.buf.hover)
|
||||
|
|
@ -330,11 +306,11 @@ vim.api.nvim_create_autocmd({ "FileType" }, {
|
|||
-- vim.keymap.segcjk("n", "<F3>", function()
|
||||
-- vim.lsp.buf.format({ async = true })
|
||||
-- end)
|
||||
end
|
||||
end
|
||||
|
||||
-- Use a loop to conveniently call 'setup' on multiple servers and
|
||||
-- map buffer local keybindings when the language server attaches
|
||||
local servers = {
|
||||
-- Use a loop to conveniently call 'setup' on multiple servers and
|
||||
-- map buffer local keybindings when the language server attaches
|
||||
local servers = {
|
||||
clangd = {
|
||||
filetypes = { "c", "cpp" }
|
||||
},
|
||||
|
|
@ -377,11 +353,11 @@ vim.api.nvim_create_autocmd({ "FileType" }, {
|
|||
cmd = { "pnpm", "exec", "biome", "lsp-proxy" }
|
||||
},
|
||||
typst_lsp = {},
|
||||
}
|
||||
}
|
||||
|
||||
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||
lsp.util.default_config = vim.tbl_deep_extend("force", lsp.util.default_config, { capabilities = capabilities })
|
||||
for server, add_to_config in pairs(servers) do
|
||||
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||
lsp.util.default_config = vim.tbl_deep_extend("force", lsp.util.default_config, { capabilities = capabilities })
|
||||
for server, add_to_config in pairs(servers) do
|
||||
local config = {
|
||||
on_attach = on_lsp_attach,
|
||||
flags = {
|
||||
|
|
@ -392,25 +368,23 @@ vim.api.nvim_create_autocmd({ "FileType" }, {
|
|||
config[k] = v
|
||||
end
|
||||
lsp[server].setup(config)
|
||||
end
|
||||
vim.cmd("LspStart")
|
||||
end
|
||||
vim.cmd("LspStart")
|
||||
|
||||
---- lsp_lines
|
||||
require("lsp_lines").setup()
|
||||
-- Disable virtual_text since it's redundant due to lsp_lines.
|
||||
vim.diagnostic.config({
|
||||
---- lsp_lines
|
||||
require("lsp_lines").setup()
|
||||
-- Disable virtual_text since it's redundant due to lsp_lines.
|
||||
vim.diagnostic.config({
|
||||
virtual_text = false,
|
||||
})
|
||||
|
||||
---- lsp-timeout
|
||||
-- vim.g["lsp-timeout-config"] = {
|
||||
-- stopTimeout = 1000 * 60 * 5, -- ms, timeout before stopping all LSP servers
|
||||
-- startTimeout = 1000 * 2, -- ms, timeout before restart
|
||||
-- silent = false -- true to suppress notifications
|
||||
-- }
|
||||
end,
|
||||
})
|
||||
|
||||
---- lsp-timeout
|
||||
-- vim.g["lsp-timeout-config"] = {
|
||||
-- stopTimeout = 1000 * 60 * 5, -- ms, timeout before stopping all LSP servers
|
||||
-- startTimeout = 1000 * 2, -- ms, timeout before restart
|
||||
-- silent = false -- true to suppress notifications
|
||||
-- }
|
||||
|
||||
-- -- Auto format on save
|
||||
-- vim.api.nvim_create_autocmd({ "BufWritePre" }, {
|
||||
-- callback = function()
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue