aboutsummaryrefslogtreecommitdiffstats
path: root/lua/mason-core/semver.lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2023-03-05 03:04:31 +0100
committerGitHub <noreply@github.com>2023-03-05 03:04:31 +0100
commit90bbcceffa1f1051b4e6c62e5ec7d33d93efa5ca (patch)
tree9891c5f91b5b7bde294387fabef91e9020dfe2fb /lua/mason-core/semver.lua
parentchore(ci): bump selene and stylua versions (#1059) (diff)
downloadmason-90bbcceffa1f1051b4e6c62e5ec7d33d93efa5ca.tar
mason-90bbcceffa1f1051b4e6c62e5ec7d33d93efa5ca.tar.gz
mason-90bbcceffa1f1051b4e6c62e5ec7d33d93efa5ca.tar.bz2
mason-90bbcceffa1f1051b4e6c62e5ec7d33d93efa5ca.tar.lz
mason-90bbcceffa1f1051b4e6c62e5ec7d33d93efa5ca.tar.xz
mason-90bbcceffa1f1051b4e6c62e5ec7d33d93efa5ca.tar.zst
mason-90bbcceffa1f1051b4e6c62e5ec7d33d93efa5ca.zip
feat: add semver module (#1058)
This will be used to compare semver versions, for example: ```lua local v1 = try(semver.parse("1.0.0")) local v2 = try(semver.parse("v2.0.0")) local _ = v1 < v2 -- true ```
Diffstat (limited to 'lua/mason-core/semver.lua')
-rw-r--r--lua/mason-core/semver.lua12
1 files changed, 12 insertions, 0 deletions
diff --git a/lua/mason-core/semver.lua b/lua/mason-core/semver.lua
new file mode 100644
index 00000000..d2b02b40
--- /dev/null
+++ b/lua/mason-core/semver.lua
@@ -0,0 +1,12 @@
+local semver = require "mason-vendor.semver"
+local Result = require "mason-core.result"
+
+local M = {}
+
+---@param version string
+function M.parse(version)
+ version = version:gsub("^v", "")
+ return Result.pcall(semver, version)
+end
+
+return M