From 8bdfc2ab2b2565f06d41921d57a0c6184a097271 Mon Sep 17 00:00:00 2001 From: Maria José Solano Date: Fri, 26 Jul 2024 19:19:39 -0700 Subject: fix(version): return nil with empty string --- runtime/lua/vim/version.lua | 4 ++++ test/functional/lua/version_spec.lua | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/runtime/lua/vim/version.lua b/runtime/lua/vim/version.lua index 0b149700b5..7c8823bd72 100644 --- a/runtime/lua/vim/version.lua +++ b/runtime/lua/vim/version.lua @@ -174,6 +174,10 @@ function M._version(version, strict) -- Adapted from https://github.com/folke/la version = version:match('%d[^ ]*') end + if version == nil then + return nil + end + local prerel = version:match('%-([^+]*)') local prerel_strict = version:match('%-([0-9A-Za-z-]*)') if diff --git a/test/functional/lua/version_spec.lua b/test/functional/lua/version_spec.lua index 4ce8fb8dfe..c172555091 100644 --- a/test/functional/lua/version_spec.lua +++ b/test/functional/lua/version_spec.lua @@ -112,6 +112,10 @@ describe('version', function() assert(vim.version.range('1.2.3-alpha'):has('1.2.3-alpha')) assert(not vim.version.range('1.2.3-alpha'):has('1.2.3-beta')) end) + + it('returns nil with empty version', function() + eq(vim.version.parse(''), nil) + end) end) describe('cmp()', function() -- cgit