diff options
author | Jongwook Choi <wookayin@gmail.com> | 2024-01-15 12:13:09 -0500 |
---|---|---|
committer | dundargoc <33953936+dundargoc@users.noreply.github.com> | 2024-01-21 11:41:50 +0100 |
commit | fa4b02fa67e5d04e37de7c767f811d497a72f95e (patch) | |
tree | 27d8331ca6e5015ff21da8ad7b2c31eebb26bab5 /runtime/doc/lua.txt | |
parent | 8df7978fe31635ede12f6dae224e6a6c8f1ba882 (diff) | |
download | rneovim-fa4b02fa67e5d04e37de7c767f811d497a72f95e.tar.gz rneovim-fa4b02fa67e5d04e37de7c767f811d497a72f95e.tar.bz2 rneovim-fa4b02fa67e5d04e37de7c767f811d497a72f95e.zip |
feat(vim.version): add `vim.version.le` and `vim.version.ge`
- Problem: One cannot easily write something like, for example:
`version_current >= {0, 10, 0}`; writing like
`not vim.version.lt(version_current, {0, 10, 0})` is verbose.
- Solution: add {`le`,`ge`} in addition to {`lt`,`gt`}.
- Also improve typing on the operator methods: allow `string` as well.
- Update the example in `vim.version.range()` docs: `ge` in place of
`gt` better matches the semantics of `range:has`.
Diffstat (limited to 'runtime/doc/lua.txt')
-rw-r--r-- | runtime/doc/lua.txt | 46 |
1 files changed, 34 insertions, 12 deletions
diff --git a/runtime/doc/lua.txt b/runtime/doc/lua.txt index 24474255ba..433a9fc266 100644 --- a/runtime/doc/lua.txt +++ b/runtime/doc/lua.txt @@ -3576,8 +3576,8 @@ vim.version.cmp({v1}, {v2}) *vim.version.cmp()* otherwise-equivalent versions. Parameters: ~ - • {v1} (`Version|number[]`) Version object. - • {v2} (`Version|number[]`) Version to compare with `v1` . + • {v1} (`Version|number[]|string`) Version object. + • {v2} (`Version|number[]|string`) Version to compare with `v1` . Return: ~ (`integer`) -1 if `v1 < v2`, 0 if `v1 == v2`, 1 if `v1 > v2`. @@ -3587,8 +3587,18 @@ vim.version.eq({v1}, {v2}) *vim.version.eq()* usage. Parameters: ~ - • {v1} (`Version|number[]`) - • {v2} (`Version|number[]`) + • {v1} (`Version|number[]|string`) + • {v2} (`Version|number[]|string`) + + Return: ~ + (`boolean`) + +vim.version.ge({v1}, {v2}) *vim.version.ge()* + Returns `true` if `v1 >= v2` . See |vim.version.cmp()| for usage. + + Parameters: ~ + • {v1} (`Version|number[]|string`) + • {v2} (`Version|number[]|string`) Return: ~ (`boolean`) @@ -3597,8 +3607,8 @@ vim.version.gt({v1}, {v2}) *vim.version.gt()* Returns `true` if `v1 > v2` . See |vim.version.cmp()| for usage. Parameters: ~ - • {v1} (`Version|number[]`) - • {v2} (`Version|number[]`) + • {v1} (`Version|number[]|string`) + • {v2} (`Version|number[]|string`) Return: ~ (`boolean`) @@ -3612,12 +3622,22 @@ vim.version.last({versions}) *vim.version.last()* Return: ~ (`Version?`) +vim.version.le({v1}, {v2}) *vim.version.le()* + Returns `true` if `v1 <= v2` . See |vim.version.cmp()| for usage. + + Parameters: ~ + • {v1} (`Version|number[]|string`) + • {v2} (`Version|number[]|string`) + + Return: ~ + (`boolean`) + vim.version.lt({v1}, {v2}) *vim.version.lt()* Returns `true` if `v1 < v2` . See |vim.version.cmp()| for usage. Parameters: ~ - • {v1} (`Version|number[]`) - • {v2} (`Version|number[]`) + • {v1} (`Version|number[]|string`) + • {v2} (`Version|number[]|string`) Return: ~ (`boolean`) @@ -3638,7 +3658,8 @@ vim.version.parse({version}, {opts}) *vim.version.parse()* "1.0", "0-x", "tmux 3.2a" into valid versions. Return: ~ - (`table?`) parsed_version Version object or `nil` if input is invalid. + (`Version?`) parsed_version Version object or `nil` if input is + invalid. See also: ~ • # https://semver.org/spec/v2.0.0.html @@ -3662,9 +3683,10 @@ vim.version.range({spec}) *vim.version.range()* print(r:has(vim.version())) -- check against current Nvim version < - Or use cmp(), eq(), lt(), and gt() to compare `.to` and `.from` directly: >lua - local r = vim.version.range('1.0.0 - 2.0.0') - print(vim.version.gt({1,0,3}, r.from) and vim.version.lt({1,0,3}, r.to)) + Or use cmp(), le(), lt(), ge(), gt(), and/or eq() to compare a version + against `.to` and `.from` directly: >lua + local r = vim.version.range('1.0.0 - 2.0.0') -- >=1.0, <2.0 + print(vim.version.ge({1,0,3}, r.from) and vim.version.lt({1,0,3}, r.to)) < Parameters: ~ |