Skip to content

Commit beace6b

Browse files
committed
update lsp config
1 parent ad997f9 commit beace6b

1 file changed

Lines changed: 27 additions & 19 deletions

File tree

lua/lsp_conf.lua

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -101,32 +101,40 @@ vim.lsp.config("*", {
101101

102102
-- A mapping from lsp server name to the executable name
103103
local enabled_lsp_servers = {
104-
pyright = "delance-langserver",
105-
ruff = "ruff",
106-
lua_ls = "lua-language-server",
107-
-- clangd = "clangd",
108-
vimls = "vim-language-server",
109-
bashls = "bash-language-server",
110-
yamlls = "yaml-language-server",
111-
gopls = "gopls",
104+
bashls = { exe = "bash-language-server", optional = true },
105+
106+
-- clangd = { exe = "clangd", optional = true },
107+
108+
-- to install codebook, run `brew install codebook-lsp`
109+
-- codebook = { exe = "codebook-lsp", optional = true },
110+
112111
-- the server can be install via homebrew: brew install golangci-lint-langserver
113112
-- golangci-lint also needs to be installed: https://github.com/golangci/golangci-lint
114-
golangci_lint_ls = "golangci-lint-langserver",
113+
golangci_lint_ls = { exe = "golangci-lint-langserver", optional = true },
114+
gopls = { exe = "gopls", optional = false },
115115

116-
-- to install codebook, run `brew install codebook-lsp`
117-
-- codebook = "codebook-lsp"
116+
lua_ls = { exe = "lua-language-server", optional = false },
117+
118+
pyright = { exe = "delance-langserver", optional = false },
119+
ruff = { exe = "ruff", optional = false },
120+
121+
vimls = { exe = "vim-language-server", optional = true },
122+
yamlls = { exe = "yaml-language-server", optional = true },
118123
}
119124

120-
for server_name, lsp_executable in pairs(enabled_lsp_servers) do
121-
if utils.executable(lsp_executable) then
125+
for server_name, server_info in pairs(enabled_lsp_servers) do
126+
if utils.executable(server_info.exe) then
122127
vim.lsp.enable(server_name)
123128
else
124-
local msg = string.format(
125-
"Executable '%s' for server '%s' not found! Server will not be enabled",
126-
lsp_executable,
127-
server_name
128-
)
129-
vim.notify(msg, vim.log.levels.WARN, { title = "Nvim-config" })
129+
-- only warn about missing non-optional LSP to avoid noise
130+
if not server_info.optional then
131+
local msg = string.format(
132+
"Executable '%s' for LSP server '%s' not found! LSP Server will not be enabled",
133+
server_info.exe,
134+
server_name
135+
)
136+
vim.notify(msg, vim.log.levels.WARN, { title = "Nvim-config" })
137+
end
130138
end
131139
end
132140

0 commit comments

Comments
 (0)