<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/runtime/autoload/provider, branch mix_20240309</title>
<subtitle>Neovim fork with Rahm's personal hacks.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/'/>
<entry>
<title>refactor: create function for deferred loading</title>
<updated>2024-02-03T15:53:41+00:00</updated>
<author>
<name>dundargoc</name>
<email>gocdundar@gmail.com</email>
</author>
<published>2024-01-22T17:23:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=2e982f1aad9f1a03562b7a451d642f76b04c37cb'/>
<id>2e982f1aad9f1a03562b7a451d642f76b04c37cb</id>
<content type='text'>
The benefit of this is that users only pay for what they use. If e.g.
only `vim.lsp.buf_get_clients()` is called then they don't need to load
all modules under `vim.lsp` which could lead to significant startuptime
saving.

Also `vim.lsp.module` is a bit nicer to user compared to
`require("vim.lsp.module")`.

This isn't used for some nested modules such as `filetype` as it breaks
tests with error messages such as "attempt to index field 'detect'".
It's not entirely certain the reason for this, but it is likely it is
due to filetype being precompiled which would imply deferred loading
isn't needed for performance reasons.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The benefit of this is that users only pay for what they use. If e.g.
only `vim.lsp.buf_get_clients()` is called then they don't need to load
all modules under `vim.lsp` which could lead to significant startuptime
saving.

Also `vim.lsp.module` is a bit nicer to user compared to
`require("vim.lsp.module")`.

This isn't used for some nested modules such as `filetype` as it breaks
tests with error messages such as "attempt to index field 'detect'".
It's not entirely certain the reason for this, but it is likely it is
due to filetype being precompiled which would imply deferred loading
isn't needed for performance reasons.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: rewrite ruby provider in lua</title>
<updated>2024-01-24T18:26:53+00:00</updated>
<author>
<name>dundargoc</name>
<email>gocdundar@gmail.com</email>
</author>
<published>2024-01-22T21:07:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=b280d57db9845359186bfb5167e1559b6184f8d5'/>
<id>b280d57db9845359186bfb5167e1559b6184f8d5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: rewrite perl provider in lua</title>
<updated>2024-01-24T10:55:28+00:00</updated>
<author>
<name>dundargoc</name>
<email>gocdundar@gmail.com</email>
</author>
<published>2024-01-22T21:07:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=576db141be6e4d9b5d9b840c599bac670df25d1a'/>
<id>576db141be6e4d9b5d9b840c599bac670df25d1a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: rewrite python provider in lua</title>
<updated>2024-01-22T21:36:40+00:00</updated>
<author>
<name>dundargoc</name>
<email>gocdundar@gmail.com</email>
</author>
<published>2024-01-07T12:05:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=eb5d15e3838f53e2fcd25989c88db87458e9f984'/>
<id>eb5d15e3838f53e2fcd25989c88db87458e9f984</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(clipboard): don't pass --foreground to wl-copy (#25481)</title>
<updated>2023-10-03T03:24:33+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-10-03T03:24:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=6851b265ba1d232cc47927ef982d10d5df7a5cf4'/>
<id>6851b265ba1d232cc47927ef982d10d5df7a5cf4</id>
<content type='text'>
Fix #25466</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix #25466</pre>
</div>
</content>
</entry>
<entry>
<title>fix(provider/pythonx): import the correct module (#25342)</title>
<updated>2023-09-24T14:04:29+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-09-24T14:04:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=61ecb3e16c22eec9cb8eb77f76d9e8ddfc3601bc'/>
<id>61ecb3e16c22eec9cb8eb77f76d9e8ddfc3601bc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(provider): cannot detect python3.12 #25316</title>
<updated>2023-09-23T09:49:34+00:00</updated>
<author>
<name>Jongwook Choi</name>
<email>wookayin@gmail.com</email>
</author>
<published>2023-09-23T09:49:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=7bd6bd1ef7214942e94c9238e08619adf41f5995'/>
<id>7bd6bd1ef7214942e94c9238e08619adf41f5995</id>
<content type='text'>
PROBLEM: The builtin python3 provider cannot auto-detect python3.12
when g:python3_host_prog is not set. As a result, when python3 on $PATH
is currently python 3.12, neovim will fail to load python3 provider
and result in `has("python3") == 0`, e.g.,
"Failed to load python3 host. You can try to see what happened by ..."

ROOT CAUSE: the `system()` call from `provider#pythonx#DetectByModule`
does not ignore python warnings, and `pkgutil.get_loader` will print
a warning message in the very first line:
```
&lt;string&gt;:1: DeprecationWarning: 'pkgutil.get_loader' is deprecated and
slated for removal in Python 3.14; use importlib.util.find_spec() instead
```

SOLUTION:
- Use `importlib.util.find_spec` instead (python &gt;= 3.4)
- Use `-W ignore` option to prevent any potential warning messages</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
PROBLEM: The builtin python3 provider cannot auto-detect python3.12
when g:python3_host_prog is not set. As a result, when python3 on $PATH
is currently python 3.12, neovim will fail to load python3 provider
and result in `has("python3") == 0`, e.g.,
"Failed to load python3 host. You can try to see what happened by ..."

ROOT CAUSE: the `system()` call from `provider#pythonx#DetectByModule`
does not ignore python warnings, and `pkgutil.get_loader` will print
a warning message in the very first line:
```
&lt;string&gt;:1: DeprecationWarning: 'pkgutil.get_loader' is deprecated and
slated for removal in Python 3.14; use importlib.util.find_spec() instead
```

SOLUTION:
- Use `importlib.util.find_spec` instead (python &gt;= 3.4)
- Use `-W ignore` option to prevent any potential warning messages</pre>
</div>
</content>
</entry>
<entry>
<title>fix(clipboard): ignore exit caused by signal #23378</title>
<updated>2023-07-16T11:15:30+00:00</updated>
<author>
<name>Kai Ting</name>
<email>kkting@gmail.com</email>
</author>
<published>2023-07-16T11:15:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=c3de6524a53dc355b1c8074eb6940e9e73714057'/>
<id>c3de6524a53dc355b1c8074eb6940e9e73714057</id>
<content type='text'>
Problem:
If clipboard job exits by signal, the exit code is &gt;=128:
https://github.com/neovim/neovim/commit/939d9053bdf2f56286640c581eb4e2ff5a856540
xclip 0.13 often exits with code 143, which spams unhelpful messages:

    clipboard: error invoking xclip: Waiting for selection requests,
    Control-C to quit   Waiting for selection request number 1

Solution:
Don't show a warning if the clipboard tool exit code is &gt;=128.
Fixes: #7054</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
If clipboard job exits by signal, the exit code is &gt;=128:
https://github.com/neovim/neovim/commit/939d9053bdf2f56286640c581eb4e2ff5a856540
xclip 0.13 often exits with code 143, which spams unhelpful messages:

    clipboard: error invoking xclip: Waiting for selection requests,
    Control-C to quit   Waiting for selection request number 1

Solution:
Don't show a warning if the clipboard tool exit code is &gt;=128.
Fixes: #7054</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='https://git.josher.dev/cgit/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(runtime): use vim.version to compare versions #22550</title>
<updated>2023-03-07T14:28:53+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2023-03-07T14:28:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=04e8e1f9eaa9ca64fa6418639d595f142585a934'/>
<id>04e8e1f9eaa9ca64fa6418639d595f142585a934</id>
<content type='text'>
TODO:
Unfortunately, cannot (yet) use vim.version for tmux version comparison,
because `vim.version.parse(…,{strict=false})` does not coerce tmux's
funny "tmux 3.3a" version string.
https://github.com/neovim/neovim/blob/6969d3d7491fc2f10d80309b26dd0c26d211b1b3/runtime/autoload/provider/clipboard.vim#L148</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
TODO:
Unfortunately, cannot (yet) use vim.version for tmux version comparison,
because `vim.version.parse(…,{strict=false})` does not coerce tmux's
funny "tmux 3.3a" version string.
https://github.com/neovim/neovim/blob/6969d3d7491fc2f10d80309b26dd0c26d211b1b3/runtime/autoload/provider/clipboard.vim#L148</pre>
</div>
</content>
</entry>
</feed>
