diff --git a/runtime/doc/lua.txt b/runtime/doc/lua.txt index 8a1135bffc..2c38c3dfce 100644 --- a/runtime/doc/lua.txt +++ b/runtime/doc/lua.txt @@ -4044,15 +4044,14 @@ vim.version.parse({version}, {opts}) *vim.version.parse()* Parameters: ~ • {version} (`string`) Version string to parse. - • {opts} (`table?`) Optional keyword arguments: - • strict (boolean): Default false. If `true`, no coercion - is attempted on input not conforming to semver v2.0.0. If - `false`, `parse()` attempts to coerce input such as - "1.0", "0-x", "tmux 3.2a" into valid versions. + • {opts} (`table?`) Options for parsing. + • {strict}? (`boolean`, default: `false`) If `true`, no + coercion is attempted on input not conforming to semver + v2.0.0. If `false`, `parse()` attempts to coerce input + such as "1.0", "0-x", "tmux 3.2a" into valid versions. Return: ~ - (`vim.Version?`) parsed_version Version object or `nil` if input is - invalid. + (`vim.Version?`) `Version` object or `nil` if input is invalid. See also: ~ • https://semver.org/spec/v2.0.0.html diff --git a/runtime/lua/vim/version.lua b/runtime/lua/vim/version.lua index 6aa3aae781..958acb2abc 100644 --- a/runtime/lua/vim/version.lua +++ b/runtime/lua/vim/version.lua @@ -435,6 +435,15 @@ function M.gt(v1, v2) return M.cmp(v1, v2) == 1 end +---@class vim.version.parse.Opts +---@inlinedoc +--- +--- If `true`, no coercion is attempted on input not conforming to semver v2.0.0. +--- If `false`, `parse()` attempts to coerce input such as "1.0", "0-x", "tmux 3.2a" into valid +--- versions. +--- (default: `false`) +---@field strict? boolean + --- Parses a semantic version string and returns a version object which can be used with other --- `vim.version` functions. For example "1.0.1-rc1+build.2" returns: --- @@ -446,11 +455,8 @@ end ---@since 11 --- ---@param version string Version string to parse. ----@param opts table|nil Optional keyword arguments: ---- - strict (boolean): Default false. If `true`, no coercion is attempted on ---- input not conforming to semver v2.0.0. If `false`, `parse()` attempts to ---- coerce input such as "1.0", "0-x", "tmux 3.2a" into valid versions. ----@return vim.Version? parsed_version Version object or `nil` if input is invalid. +---@param opts vim.version.parse.Opts? Options for parsing. +---@return vim.Version? # `Version` object or `nil` if input is invalid. function M.parse(version, opts) assert(type(version) == 'string', create_err_msg(version)) opts = opts or { strict = false }