diff options
author | k4z4n0v4 <[email protected]> | 2022-11-01 19:08:16 +0400 |
---|---|---|
committer | GitHub <[email protected]> | 2022-11-01 16:08:16 +0100 |
commit | 375232c95a45d917b201b4398ac173202e59e87f (patch) | |
tree | fb389ef41ef4fa9105f24a7842a6ca8d31c81a70 /lua/lvim/lsp/manager.lua | |
parent | 325bf72f935aa2caf25cb644f79dc7a3ea2c1168 (diff) |
fix(lsp) launch servers in path as well (#3390)
Diffstat (limited to 'lua/lvim/lsp/manager.lua')
-rw-r--r-- | lua/lvim/lsp/manager.lua | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lua/lvim/lsp/manager.lua b/lua/lvim/lsp/manager.lua index 54b9ed5d..02f0f600 100644 --- a/lua/lvim/lsp/manager.lua +++ b/lua/lvim/lsp/manager.lua @@ -72,6 +72,15 @@ end local function launch_server(server_name, config) pcall(function() + local command = config.cmd + or (function() + local default_config = require("lspconfig.server_configurations." .. server_name).default_config + return default_config.cmd + end)() + if vim.fn.executable(command[1]) ~= 1 then + Log:debug(string.format("[%q] is either not installed, missing from PATH, or not executable.", server_name)) + return + end require("lspconfig")[server_name].setup(config) buf_try_add(server_name) end) @@ -122,7 +131,6 @@ function M.setup(server_name, user_config) else Log:debug(server_name .. " is not managed by the automatic installer") end - return end local config = resolve_config(server_name, resolve_mason_config(server_name), user_config) |