diff options
| author | William Boman <william@redwill.se> | 2022-12-21 11:51:36 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-21 10:51:36 +0000 |
| commit | 8240d7da6b2800aaacb0bec71a268cba62130814 (patch) | |
| tree | 7cf7d22524458f12ee31819ce6d1079a3209fe91 /lua | |
| parent | fix(spawn): always expand cmd if PATH is not modified (#773) (diff) | |
| download | mason-8240d7da6b2800aaacb0bec71a268cba62130814.tar mason-8240d7da6b2800aaacb0bec71a268cba62130814.tar.gz mason-8240d7da6b2800aaacb0bec71a268cba62130814.tar.bz2 mason-8240d7da6b2800aaacb0bec71a268cba62130814.tar.lz mason-8240d7da6b2800aaacb0bec71a268cba62130814.tar.xz mason-8240d7da6b2800aaacb0bec71a268cba62130814.tar.zst mason-8240d7da6b2800aaacb0bec71a268cba62130814.zip | |
fix(powershell): use pwsh if available (#782)
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/mason-core/managers/powershell/init.lua | 6 | ||||
| -rw-r--r-- | lua/mason/health/init.lua | 12 |
2 files changed, 14 insertions, 4 deletions
diff --git a/lua/mason-core/managers/powershell/init.lua b/lua/mason-core/managers/powershell/init.lua index 5cc5e21d..161ee4b2 100644 --- a/lua/mason-core/managers/powershell/init.lua +++ b/lua/mason-core/managers/powershell/init.lua @@ -8,6 +8,8 @@ local PWSHOPT = { security_protocol = [[ [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; ]], } +local powershell = vim.fn.executable "pwsh" == 1 and "pwsh" or "powershell" + ---@param script string ---@param opts JobSpawnOpts? ---@param custom_spawn JobSpawn? @@ -15,7 +17,7 @@ function M.script(script, opts, custom_spawn) opts = opts or {} ---@type JobSpawn local spawner = custom_spawn or spawn - return spawner.powershell(vim.tbl_extend("keep", { + return spawner[powershell](vim.tbl_extend("keep", { "-NoProfile", on_spawn = function(_, stdio) local stdin = stdio[1] @@ -35,7 +37,7 @@ function M.command(command, opts, custom_spawn) opts = opts or {} ---@type JobSpawn local spawner = custom_spawn or spawn - return spawner.powershell(vim.tbl_extend("keep", { + return spawner[powershell](vim.tbl_extend("keep", { "-NoProfile", "-Command", PWSHOPT.progress_preference .. PWSHOPT.security_protocol .. command, diff --git a/lua/mason/health/init.lua b/lua/mason/health/init.lua index 5003bb0a..0e33911d 100644 --- a/lua/mason/health/init.lua +++ b/lua/mason/health/init.lua @@ -221,8 +221,16 @@ function M.check() relaxed = platform.is.win, }, check { cmd = "tar", args = { "--version" }, name = "tar" }, - -- when(platform.is.win, check { cmd = "powershell.exe", args = { "-Version" }, name = "PowerShell" }), -- TODO fix me - -- when(platform.is.win, check { cmd = "cmd.exe", args = { "-Version" }, name = "cmd" }) -- TODO fix me + check { + cmd = "pwsh", + args = { + "-NoProfile", + "-Command", + [[$PSVersionTable.PSVersion, $PSVersionTable.OS, $PSVersionTable.Platform -join " "]], + }, + name = "pwsh", + relaxed = not platform.is.win, + }, } if platform.is.unix then |
