aboutsummaryrefslogtreecommitdiffstats
path: root/lua/nvim-lsp-installer/installers/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/nvim-lsp-installer/installers/init.lua')
-rw-r--r--lua/nvim-lsp-installer/installers/init.lua22
1 files changed, 22 insertions, 0 deletions
diff --git a/lua/nvim-lsp-installer/installers/init.lua b/lua/nvim-lsp-installer/installers/init.lua
index e9d99138..f394a33d 100644
--- a/lua/nvim-lsp-installer/installers/init.lua
+++ b/lua/nvim-lsp-installer/installers/init.lua
@@ -1,3 +1,5 @@
+local platform = require "nvim-lsp-installer.platform"
+
local M = {}
function M.compose(installers)
@@ -25,4 +27,24 @@ function M.compose(installers)
end
end
+function M.when(platform_table)
+ return function(server, callback)
+ if platform.is_unix() then
+ if platform_table.unix then
+ platform_table.unix(server, callback)
+ else
+ callback(false, ("Unix is not yet supported for server %q."):format(server.name))
+ end
+ elseif platform.is_win() then
+ if platform_table.win then
+ platform_table.win(server, callback)
+ else
+ callback(false, ("Windows is not yet supported for server %q."):format(server.name))
+ end
+ else
+ callback(false, "installers.when: Could not find installer for current platform.")
+ end
+ end
+end
+
return M