<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/test/functional/lua/version_spec.lua, branch fix_repeatcmdline</title>
<subtitle>Neovim fork with Rahm's personal hacks.</subtitle>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/'/>
<entry>
<title>feat: tostring(vim.version())</title>
<updated>2023-06-11T23:14:33+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2023-06-11T23:14:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=e6887932539315e02621edb77d5e77c7c2a0b033'/>
<id>e6887932539315e02621edb77d5e77c7c2a0b033</id>
<content type='text'>
Problem:
tostring(vim.version()) returns "table: 0x…".

Solution:
Modify vim.version() to return a string prerelease instead of a boolean.

Fix #23863
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
tostring(vim.version()) returns "table: 0x…".

Solution:
Modify vim.version() to return a string prerelease instead of a boolean.

Fix #23863
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: version-range &lt; and &lt;= #23539</title>
<updated>2023-06-06T13:38:45+00:00</updated>
<author>
<name>Gianmaria Bajo</name>
<email>mg1979.git@gmail.com</email>
</author>
<published>2023-06-06T13:38:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=ca887b80a911df4db4ab5f5496075b9415b9990a'/>
<id>ca887b80a911df4db4ab5f5496075b9415b9990a</id>
<content type='text'>
vim.version.range() couldn't parse them correctly.
For example, vim.version.range('&lt;0.9.0'):has('0.9.0') returned `true`.

fix: range:has() accepts vim.version()
So that it's possible to compare a range with:

    vim.version.range(spec):has(vim.version())</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
vim.version.range() couldn't parse them correctly.
For example, vim.version.range('&lt;0.9.0'):has('0.9.0') returned `true`.

fix: range:has() accepts vim.version()
So that it's possible to compare a range with:

    vim.version.range(spec):has(vim.version())</pre>
</div>
</content>
</entry>
<entry>
<title>fix(vim.version): prerelease compare</title>
<updated>2023-03-22T16:46:01+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2023-03-20T12:36:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=8a70adbde03ee9931dc4e1b6f31bd8635eb3633b'/>
<id>8a70adbde03ee9931dc4e1b6f31bd8635eb3633b</id>
<content type='text'>
Problem:
semver specifies that digit sequences in a prerelease string should be
compared as numbers, not lexically: https://semver.org/#spec-item-11
&gt; Precedence for two pre-release versions with the same major, minor,
&gt; and patch version MUST be determined by comparing each dot separated
&gt; identifier from left to right until a difference is found as follows:
&gt; 1. Identifiers consisting of only digits are compared numerically.
&gt; 2. Identifiers with letters or hyphens are compared lexically in ASCII sort order.
&gt; 3. Numeric identifiers always have lower precedence than non-numeric identifiers.
&gt; 4. A larger set of pre-release fields has a higher precedence than a smaller set, if all of the preceding identifiers are equal.
Example:
1.0.0-alpha &lt; 1.0.0-alpha.1 &lt; 1.0.0-alpha.beta &lt; 1.0.0-beta &lt; 1.0.0-beta.2 &lt; 1.0.0-beta.11 &lt; 1.0.0-rc.1 &lt; 1.0.0.

Solution:
cmp_prerel() treats all digit sequences in a prerelease string as
numbers. This doesn't _exactly_ match the spec, which specifies that
only dot-delimited digit sequences should be treated as numbers...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
semver specifies that digit sequences in a prerelease string should be
compared as numbers, not lexically: https://semver.org/#spec-item-11
&gt; Precedence for two pre-release versions with the same major, minor,
&gt; and patch version MUST be determined by comparing each dot separated
&gt; identifier from left to right until a difference is found as follows:
&gt; 1. Identifiers consisting of only digits are compared numerically.
&gt; 2. Identifiers with letters or hyphens are compared lexically in ASCII sort order.
&gt; 3. Numeric identifiers always have lower precedence than non-numeric identifiers.
&gt; 4. A larger set of pre-release fields has a higher precedence than a smaller set, if all of the preceding identifiers are equal.
Example:
1.0.0-alpha &lt; 1.0.0-alpha.1 &lt; 1.0.0-alpha.beta &lt; 1.0.0-beta &lt; 1.0.0-beta.2 &lt; 1.0.0-beta.11 &lt; 1.0.0-rc.1 &lt; 1.0.0.

Solution:
cmp_prerel() treats all digit sequences in a prerelease string as
numbers. This doesn't _exactly_ match the spec, which specifies that
only dot-delimited digit sequences should be treated as numbers...
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(vim.version): more coercion with strict=false</title>
<updated>2023-03-20T12:40:38+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2023-03-17T00:12:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=a40eb7cc991eb4f8b89f467e8e42563868efa76b'/>
<id>a40eb7cc991eb4f8b89f467e8e42563868efa76b</id>
<content type='text'>
Problem:
"tmux 3.2a" (output from "tmux -V") is not parsed easily.

Solution:
With `strict=false`, discard everything before the first digit.

- rename Semver =&gt; Version
- rename vim.version.version() =&gt; vim.version._version()
- rename matches() =&gt; has()
- remove `opts` from cmp()
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
"tmux 3.2a" (output from "tmux -V") is not parsed easily.

Solution:
With `strict=false`, discard everything before the first digit.

- rename Semver =&gt; Version
- rename vim.version.version() =&gt; vim.version._version()
- rename matches() =&gt; has()
- remove `opts` from cmp()
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(vim.version): use lazy.nvim semver module</title>
<updated>2023-03-20T12:40:38+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2023-03-16T21:49:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=a715e6f87eede36775d0921b3537c7c57a82890a'/>
<id>a715e6f87eede36775d0921b3537c7c57a82890a</id>
<content type='text'>
Now the Nvim version string "v0.9.0-dev-1233+g210120dde81e" parses
correctly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now the Nvim version string "v0.9.0-dev-1233+g210120dde81e" parses
correctly.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(vim.version): use lazy.nvim semver module</title>
<updated>2023-03-20T12:36:55+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2023-03-16T13:50:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=990c481551af2b346f315d75aa0815e9b65051f3'/>
<id>990c481551af2b346f315d75aa0815e9b65051f3</id>
<content type='text'>
Use semver code from https://github.com/folke/lazy.nvim
License: Apache License 2.0

Co-authored-by: Folke Lemaitre &lt;folke.lemaitre@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use semver code from https://github.com/folke/lazy.nvim
License: Apache License 2.0

Co-authored-by: Folke Lemaitre &lt;folke.lemaitre@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(vim.version): incorrect version.cmp()</title>
<updated>2023-03-06T14:36:25+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2023-03-06T14:08:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=74ffebf8ec725a25c2ae1dde81cf26b83fc7ae61'/>
<id>74ffebf8ec725a25c2ae1dde81cf26b83fc7ae61</id>
<content type='text'>
Problem:
If major&lt;major but minor&gt;minor, cmp_version_core returns 1

Solution:
- Fix logic in cmp_version_core
- Delete most eq()/gt()/lt() tests, they are redundant.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
If major&lt;major but minor&gt;minor, cmp_version_core returns 1

Solution:
- Fix logic in cmp_version_core
- Delete most eq()/gt()/lt() tests, they are redundant.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(vim.version): cleanup</title>
<updated>2023-03-06T13:51:56+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2023-03-06T12:23:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=e31e49a8e3aac25e923dce15cc76dca4a447947f'/>
<id>e31e49a8e3aac25e923dce15cc76dca4a447947f</id>
<content type='text'>
- version.cmp(): assert valid version
- add test for loading vim.version (the other tests use shared.lua in
  the test runner)
- reduce test scopes, reword test descriptions
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- version.cmp(): assert valid version
- add test for loading vim.version (the other tests use shared.lua in
  the test runner)
- reduce test scopes, reword test descriptions
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(lua): add semver api</title>
<updated>2023-03-06T12:45:59+00:00</updated>
<author>
<name>Kelly Lin</name>
<email>findkellylin@gmail.com</email>
</author>
<published>2023-02-19T11:33:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=0e7196438d8f856eecd7c90e160b79cbc8fb08dc'/>
<id>0e7196438d8f856eecd7c90e160b79cbc8fb08dc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
