add dockerfile and dockercompose LSPs + optional local enforcement
This commit is contained in:
parent
6f49fd38ba
commit
e8eeff8fd6
2 changed files with 14 additions and 4 deletions
|
|
@ -7,12 +7,17 @@ local name_to_bin = {
|
|||
['docker-compose-language-service'] = 'docker-compose-langserver',
|
||||
}
|
||||
|
||||
M.install = function(ensure_installed)
|
||||
-- We guarantee 'ensure_installed' package is installed locally
|
||||
-- If enforce_local is false then we install it via mason-registry
|
||||
-- By default we install LSPs via mason
|
||||
M.install = function(ensure_installed, enforce_local)
|
||||
-- Allow for passing in a single string
|
||||
if type(ensure_installed) == 'string' then
|
||||
ensure_installed = { ensure_installed }
|
||||
end
|
||||
|
||||
enforce_local = enforce_local == nil and false or enforce_local
|
||||
|
||||
-- Function to check if the executable exists in the PATH
|
||||
local function executable_exists(name)
|
||||
if name_to_bin[name] then
|
||||
|
|
@ -24,7 +29,7 @@ M.install = function(ensure_installed)
|
|||
local registry = require 'mason-registry'
|
||||
registry.refresh(function()
|
||||
for _, pkg_name in ipairs(ensure_installed) do
|
||||
if not executable_exists(pkg_name) then
|
||||
if (not executable_exists(pkg_name)) and not enforce_local then
|
||||
local pkg = registry.get_package(pkg_name)
|
||||
if not pkg:is_installed() then
|
||||
pkg:install()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue