aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/version.lua
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2023-06-11 16:32:37 -0700
committerGitHub <noreply@github.com>2023-06-11 16:32:37 -0700
commit6e1fa16ddecca1b6e10563a75385cedea32f8911 (patch)
treea60547b93752f8998d69bc2d7e07e68cc0cbaac8 /runtime/lua/vim/version.lua
parentd3b9feccb39124cefbe4b0c492fb0bc3f777d0b4 (diff)
parente6887932539315e02621edb77d5e77c7c2a0b033 (diff)
downloadrneovim-6e1fa16ddecca1b6e10563a75385cedea32f8911.tar.gz
rneovim-6e1fa16ddecca1b6e10563a75385cedea32f8911.tar.bz2
rneovim-6e1fa16ddecca1b6e10563a75385cedea32f8911.zip
Merge #23954 vim.version() returns Version object
Diffstat (limited to 'runtime/lua/vim/version.lua')
-rw-r--r--runtime/lua/vim/version.lua10
1 files changed, 6 insertions, 4 deletions
diff --git a/runtime/lua/vim/version.lua b/runtime/lua/vim/version.lua
index d4a3752e37..92250ff1f8 100644
--- a/runtime/lua/vim/version.lua
+++ b/runtime/lua/vim/version.lua
@@ -226,13 +226,11 @@ function Range:has(version)
if type(version) == 'string' then
---@diagnostic disable-next-line: cast-local-type
version = M.parse(version)
- else
+ elseif getmetatable(version) ~= Version then
-- Need metatable to compare versions.
version = setmetatable(vim.deepcopy(version), Version)
end
if version then
- -- Workaround: vim.version() reports "prerelease" as a boolean.
- version.prerelease = version.prerelease or nil
if version.prerelease ~= self.from.prerelease then
return false
end
@@ -423,8 +421,12 @@ function M.parse(version, opts)
end
setmetatable(M, {
+ --- Returns the current Nvim version.
__call = function()
- return vim.fn.api_info().version
+ local version = vim.fn.api_info().version
+ -- Workaround: vim.fn.api_info().version reports "prerelease" as a boolean.
+ version.prerelease = version.prerelease and 'dev' or nil
+ return setmetatable(version, Version)
end,
})