aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-12-21 11:51:36 +0100
committerGitHub <noreply@github.com>2022-12-21 10:51:36 +0000
commit8240d7da6b2800aaacb0bec71a268cba62130814 (patch)
tree7cf7d22524458f12ee31819ce6d1079a3209fe91 /lua
parentfix(spawn): always expand cmd if PATH is not modified (#773) (diff)
downloadmason-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.lua6
-rw-r--r--lua/mason/health/init.lua12
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