aboutsummaryrefslogtreecommitdiffstats
path: root/lua/nvim-lsp-installer/installers/shell.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/nvim-lsp-installer/installers/shell.lua')
-rw-r--r--lua/nvim-lsp-installer/installers/shell.lua117
1 files changed, 0 insertions, 117 deletions
diff --git a/lua/nvim-lsp-installer/installers/shell.lua b/lua/nvim-lsp-installer/installers/shell.lua
deleted file mode 100644
index 2cc8a845..00000000
--- a/lua/nvim-lsp-installer/installers/shell.lua
+++ /dev/null
@@ -1,117 +0,0 @@
-require "nvim-lsp-installer.notify"(
- (
- "%s has been deprecated. See https://github.com/williamboman/nvim-lsp-installer/wiki/Async-infrastructure-changes-notice"
- ):format "nvim-lsp-installer.installers.shell",
- vim.log.levels.WARN
-)
-
-local installers = require "nvim-lsp-installer.installers"
-local process = require "nvim-lsp-installer.process"
-
-local M = {}
-
----@param opts {shell: string, cmd: string[], env: table|nil}
-local function shell(opts)
- ---@type ServerInstallerFunction
- return function(_, callback, context)
- local _, stdio = process.spawn(opts.shell, {
- args = opts.args,
- cwd = context.install_dir,
- stdio_sink = context.stdio_sink,
- env = process.graft_env(opts.env or {}, {
- "PSMODULEPATH", -- https://github.com/williamboman/nvim-lsp-installer/issues/271
- }),
- }, callback)
-
- if stdio and opts.cmd then
- local stdin = stdio[1]
-
- stdin:write(opts.cmd)
- stdin:write "\n"
- stdin:close()
- end
- end
-end
-
----@param raw_script string @The bash script to execute as-is.
----@param opts {prefix: string, env: table}
-function M.bash(raw_script, opts)
- local default_opts = {
- prefix = "set -euo pipefail;",
- env = {},
- }
- opts = vim.tbl_deep_extend("force", default_opts, opts or {})
-
- return shell {
- shell = "bash",
- args = { "-c", (opts.prefix or "") .. raw_script },
- env = opts.env,
- }
-end
-
----@param raw_script string @The sh script to execute as-is.
----@param opts {prefix: string, env: table}
-function M.sh(raw_script, opts)
- local default_opts = {
- prefix = "set -eu;",
- env = {},
- }
- opts = vim.tbl_deep_extend("force", default_opts, opts or {})
-
- return shell {
- shell = "sh",
- cmd = (opts.prefix or "") .. raw_script,
- env = opts.env,
- }
-end
-
----@param raw_script string @The cmd.exe script to execute as-is.
----@param opts {env: table}
-function M.cmd(raw_script, opts)
- local default_opts = {
- env = {},
- }
- opts = vim.tbl_deep_extend("force", default_opts, opts or {})
-
- return shell {
- shell = "cmd.exe",
- args = { "/C", raw_script },
- env = opts.env,
- }
-end
-
----@param raw_script string @The powershell script to execute as-is.
----@param opts {prefix: string, env: table}
-function M.powershell(raw_script, opts)
- local default_opts = {
- env = {},
- -- YIKES https://stackoverflow.com/a/63301751
- prefix = [[
- $ProgressPreference = 'SilentlyContinue';
- [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12;
- ]],
- }
- opts = vim.tbl_deep_extend("force", default_opts, opts or {})
-
- return shell {
- shell = "powershell.exe",
- args = { "-NoProfile", "-Command", (opts.prefix or "") .. raw_script },
- env = opts.env,
- }
-end
-
----@param raw_script string @A script that is compatible with bash and cmd.exe.
----@param opts {env: table}
-function M.polyshell(raw_script, opts)
- local default_opts = {
- env = {},
- }
- opts = vim.tbl_deep_extend("force", default_opts, opts or {})
-
- return installers.when {
- unix = M.bash(raw_script, { env = opts.env }),
- win = M.cmd(raw_script, { env = opts.env }),
- }
-end
-
-return M