<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/runtime/lua/vim/_watch.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>perf(lsp): use async fs_stat for file watching on linux (#26123)</title>
<updated>2023-11-21T16:46:19+00:00</updated>
<author>
<name>Mathias Fußenegger</name>
<email>mfussenegger@users.noreply.github.com</email>
</author>
<published>2023-11-21T16:46:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=7e97c773e3ba78fcddbb2a0b9b0d572c8210c83e'/>
<id>7e97c773e3ba78fcddbb2a0b9b0d572c8210c83e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>perf(lsp): replace file polling on linux with per dir watcher  (#26108)</title>
<updated>2023-11-19T13:25:32+00:00</updated>
<author>
<name>Mathias Fußenegger</name>
<email>mfussenegger@users.noreply.github.com</email>
</author>
<published>2023-11-19T13:25:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=de28a0f84c577e264f37cd001b03d640db7d5ef9'/>
<id>de28a0f84c577e264f37cd001b03d640db7d5ef9</id>
<content type='text'>
Should help with https://github.com/neovim/neovim/issues/23291

On linux `new_fs_event` doesn't support recursive watching, but we can
still use it to watch folders.

The downside of this approach is that we may end up sending some false
`Deleted` events. For example, if you save a file named `foo` there will
be a intermediate `foo~` due to the save mechanism of neovim.

The events we get from vim.uv in that case are:

- rename: foo~
- rename: foo~
- rename: foo
- rename: foo
- change: foo
- change: foo

The mechanism in this PR uses a debounce to reduce this to:

- deleted: foo~
- changed: foo

`foo~` will be the false positive.
I suspect that for the LSP case this is good enough. If not, we may need
to follow up on this and keep a table in memory that tracks available
files.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Should help with https://github.com/neovim/neovim/issues/23291

On linux `new_fs_event` doesn't support recursive watching, but we can
still use it to watch folders.

The downside of this approach is that we may end up sending some false
`Deleted` events. For example, if you save a file named `foo` there will
be a intermediate `foo~` due to the save mechanism of neovim.

The events we get from vim.uv in that case are:

- rename: foo~
- rename: foo~
- rename: foo
- rename: foo
- change: foo
- change: foo

The mechanism in this PR uses a debounce to reduce this to:

- deleted: foo~
- changed: foo

`foo~` will be the false positive.
I suspect that for the LSP case this is good enough. If not, we may need
to follow up on this and keep a table in memory that tracks available
files.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lua): improve annotations for stricter luals diagnostics (#24609)</title>
<updated>2023-08-09T09:06:13+00:00</updated>
<author>
<name>Christian Clason</name>
<email>c.clason@uni-graz.at</email>
</author>
<published>2023-08-09T09:06:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=c43c745a14dced87a23227d7be4f1c33d4455193'/>
<id>c43c745a14dced87a23227d7be4f1c33d4455193</id>
<content type='text'>
Problem: luals returns stricter diagnostics with bundled luarc.json
Solution: Improve some function and type annotations:

* use recognized uv.* types 
* disable diagnostic for global `vim` in shared.lua
* docs: don't start comment lines with taglink (otherwise LuaLS will interpret it as a type)
* add type alias for lpeg pattern
* fix return annotation for `vim.secure.trust`
* rename local Range object in vim.version (shadows `Range` in vim.treesitter)
* fix some "missing fields" warnings
* add missing required fields for test functions in eval.lua
* rename lsp meta files for consistency
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: luals returns stricter diagnostics with bundled luarc.json
Solution: Improve some function and type annotations:

* use recognized uv.* types 
* disable diagnostic for global `vim` in shared.lua
* docs: don't start comment lines with taglink (otherwise LuaLS will interpret it as a type)
* add type alias for lpeg pattern
* fix return annotation for `vim.secure.trust`
* rename local Range object in vim.version (shadows `Range` in vim.treesitter)
* fix some "missing fields" warnings
* add missing required fields for test functions in eval.lua
* rename lsp meta files for consistency
</pre>
</div>
</content>
</entry>
<entry>
<title>docs(lua): more improvements (#24387)</title>
<updated>2023-07-18T14:42:30+00:00</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2023-07-18T14:42:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=be74807eef13ff8c90d55cf8b22b01d6d33b1641'/>
<id>be74807eef13ff8c90d55cf8b22b01d6d33b1641</id>
<content type='text'>
* docs(lua): teach lua2dox how to table

* docs(lua): teach gen_vimdoc.py about local functions

No more need to mark local functions with @private

* docs(lua): mention @nodoc and @meta in dev-lua-doc

* fixup!

Co-authored-by: Justin M. Keyes &lt;justinkz@gmail.com&gt;

---------

Co-authored-by: Justin M. Keyes &lt;justinkz@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* docs(lua): teach lua2dox how to table

* docs(lua): teach gen_vimdoc.py about local functions

No more need to mark local functions with @private

* docs(lua): mention @nodoc and @meta in dev-lua-doc

* fixup!

Co-authored-by: Justin M. Keyes &lt;justinkz@gmail.com&gt;

---------

Co-authored-by: Justin M. Keyes &lt;justinkz@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lint): lint warnings #24226</title>
<updated>2023-07-10T11:38:15+00:00</updated>
<author>
<name>Raphael</name>
<email>glepnir@neovim.pro</email>
</author>
<published>2023-07-10T11:38:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=766f4978d6cb146511cf0b676c01e5327db46647'/>
<id>766f4978d6cb146511cf0b676c01e5327db46647</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>perf(lsp): reduce polling handles for workspace/didChangeWatchedFiles (#23500)</title>
<updated>2023-06-14T10:40:11+00:00</updated>
<author>
<name>Jon Huhn</name>
<email>nojnhuh@users.noreply.github.com</email>
</author>
<published>2023-06-14T10:40:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=79a5b89d66db74560e751561542064674e980146'/>
<id>79a5b89d66db74560e751561542064674e980146</id>
<content type='text'>
Co-authored-by: Lewis Russell &lt;lewis6991@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Lewis Russell &lt;lewis6991@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>feat(lua): rename vim.loop -&gt; vim.uv (#22846)</title>
<updated>2023-06-03T10:06:00+00:00</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2023-06-03T10:06:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=2db719f6c2b677fcbc197b02fe52764a851523b2'/>
<id>2db719f6c2b677fcbc197b02fe52764a851523b2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(watchfiles): skip Created events when poll starts (#23139)</title>
<updated>2023-04-17T16:50:05+00:00</updated>
<author>
<name>Jon Huhn</name>
<email>nojnhuh@users.noreply.github.com</email>
</author>
<published>2023-04-17T16:50:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=6cc76011ca28ff61f1c2f8de6d895d4c6d0a1ad8'/>
<id>6cc76011ca28ff61f1c2f8de6d895d4c6d0a1ad8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(lsp): implement workspace/didChangeWatchedFiles (#22405)</title>
<updated>2023-03-05T06:52:27+00:00</updated>
<author>
<name>Jon Huhn</name>
<email>nojnhuh@users.noreply.github.com</email>
</author>
<published>2023-03-05T06:52:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=ac69ba5fa0081026f2c5e6e29d5788802479b7b9'/>
<id>ac69ba5fa0081026f2c5e6e29d5788802479b7b9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "feat(lsp): implement workspace/didChangeWatchedFiles (#21293)"</title>
<updated>2023-02-25T10:17:28+00:00</updated>
<author>
<name>Mathias Fussenegger</name>
<email>f.mathias@zignar.net</email>
</author>
<published>2023-02-25T10:17:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=f0f27e9aef7c237dd55fbb5c2cd47c2f42d01742'/>
<id>f0f27e9aef7c237dd55fbb5c2cd47c2f42d01742</id>
<content type='text'>
This reverts commit 5732aa706c639b3d775573d91d1139f24624629c.

Causes editor to freeze in projects with many watcher registrations
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 5732aa706c639b3d775573d91d1139f24624629c.

Causes editor to freeze in projects with many watcher registrations
</pre>
</div>
</content>
</entry>
</feed>
