aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-07-07 04:30:08 +0200
committerWilliam Boman <william@redwill.se>2022-07-07 04:30:29 +0200
commit948029a7e74439ac95f35c33af1316dfcdc23df3 (patch)
tree33cb5719cc5f5b976d6513c2c4b57c231e6aa043 /lua
parentchore: some cleanup (diff)
downloadmason-948029a7e74439ac95f35c33af1316dfcdc23df3.tar
mason-948029a7e74439ac95f35c33af1316dfcdc23df3.tar.gz
mason-948029a7e74439ac95f35c33af1316dfcdc23df3.tar.bz2
mason-948029a7e74439ac95f35c33af1316dfcdc23df3.tar.lz
mason-948029a7e74439ac95f35c33af1316dfcdc23df3.tar.xz
mason-948029a7e74439ac95f35c33af1316dfcdc23df3.tar.zst
mason-948029a7e74439ac95f35c33af1316dfcdc23df3.zip
fix(mason-lspconfig): fix incorrect require path
Diffstat (limited to 'lua')
-rw-r--r--lua/mason-lspconfig/init.lua32
1 files changed, 17 insertions, 15 deletions
diff --git a/lua/mason-lspconfig/init.lua b/lua/mason-lspconfig/init.lua
index ad177be6..d7a34a9e 100644
--- a/lua/mason-lspconfig/init.lua
+++ b/lua/mason-lspconfig/init.lua
@@ -4,6 +4,7 @@ local Optional = require "mason.core.optional"
local _ = require "mason.core.functional"
local settings = require "mason-lspconfig.settings"
local server_mapping = require "mason-lspconfig.server-mapping"
+local path = require "mason.core.path"
local M = {}
@@ -19,8 +20,7 @@ end
---@param lspconfig_server_name string
function M.resolve_server_config_factory(lspconfig_server_name)
- local ok, server_config =
- pcall(require, ("mason.adapters.lspconfig.server_configurations.%s"):format(lspconfig_server_name))
+ local ok, server_config = pcall(require, ("mason-lspconfig.server_configurations.%s"):format(lspconfig_server_name))
if ok then
return Optional.of(server_config)
end
@@ -58,22 +58,24 @@ local function should_auto_install(server_name)
end
local function setup_lspconfig_hook()
+ local indexer = require "mason.core.package.indexer"
local util = require "lspconfig.util"
util.on_setup = util.add_hook_before(util.on_setup, function(config)
- M.resolve_package(config.name):if_present(
- ---@param pkg Package
- function(pkg)
- if pkg:is_installed() then
- M.resolve_server_config_factory(config.name):if_present(function(config_factory)
- merge_in_place(config, config_factory(pkg:get_install_path()))
- end)
- else
- if should_auto_install(config.name) then
- pkg:install()
- end
- end
+ local pkg_name = server_mapping.lspconfig_to_package[config.name]
+ if not pkg_name then
+ return
+ end
+
+ if indexer.is_installed(pkg_name) then
+ M.resolve_server_config_factory(config.name):if_present(function(config_factory)
+ merge_in_place(config, config_factory(path.package_prefix(pkg_name)))
+ end)
+ else
+ if should_auto_install(config.name) then
+ local pkg = indexer.get_package(pkg_name)
+ pkg:install()
end
- )
+ end
end)
end