aboutsummaryrefslogtreecommitdiffstats
path: root/lua/mason-core/platform.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/mason-core/platform.lua')
-rw-r--r--lua/mason-core/platform.lua12
1 files changed, 12 insertions, 0 deletions
diff --git a/lua/mason-core/platform.lua b/lua/mason-core/platform.lua
index 64e6ba52..7ae51a67 100644
--- a/lua/mason-core/platform.lua
+++ b/lua/mason-core/platform.lua
@@ -156,4 +156,16 @@ M.is = setmetatable({}, {
end,
})
+---@async
+function M.get_node_version()
+ local spawn = require "mason-core.spawn"
+ local _ = require "mason-core.functional"
+
+ return spawn.node({ "--version" }):map(function(result)
+ -- Parses output such as "v16.3.1" into major, minor, patch
+ local _, _, major, minor, patch = _.head(_.split("\n", result.stdout)):find "v(%d+)%.(%d+)%.(%d+)"
+ return { tonumber(major), tonumber(minor), tonumber(patch) }
+ end)
+end
+
return M