diff options
Diffstat (limited to 'lua/nvim-lsp-installer/installers/shell.lua')
| -rw-r--r-- | lua/nvim-lsp-installer/installers/shell.lua | 117 |
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 |
