<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/src/gen/luacats_parser.lua, branch master</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>ci(lua): enable annotation and style checks</title>
<updated>2026-09-30T16:56:01+00:00</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2026-09-30T13:41:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=364b7a3402634251a766c4a3a81117c296839e12'/>
<id>364b7a3402634251a766c4a3a81117c296839e12</id>
<content type='text'>
Problem:

- annotation-usage-error and code-style-check are disabled.
- vim.inspect relies on a dummy self-assignment for docgen, and its help
  omits parameter and option details.
- LuaLS fallback types obscure iterator inference.
- Docgen hardcodes public function names and appends separately sorted
  files, leaving shared helpers under the inspector heading.

Solution:

- Enable annotation-usage-error and code-style-check, and fix misplaced
  annotations.
- Document vim.inspect's callable module directly, removing the dummy
  assignment. Describe its parameters, option defaults and process
  callback.
- Remove LuaLS iterator fallbacks, correct iterator signatures and check
  values that the improved inference identifies as optional.
- Parse callable modules, require bindings and parent module references.
  Derive public names and inherited function docs from these links,
  including missing help for vim.async.semaphore() and vim.version().
- Export vim.lsp.tagfunc directly with lazy loading and document its
  implementation instead of maintaining a wrapper.
- Group files in section_order, replacing append_only and merge_files.
  Merge declarations before sorting each section, placing shared helpers
  in the main vim section and keeping vim.inspect in alphabetical order.
- Add basic parser coverage for callable modules and module links.

AI-assisted
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:

- annotation-usage-error and code-style-check are disabled.
- vim.inspect relies on a dummy self-assignment for docgen, and its help
  omits parameter and option details.
- LuaLS fallback types obscure iterator inference.
- Docgen hardcodes public function names and appends separately sorted
  files, leaving shared helpers under the inspector heading.

Solution:

- Enable annotation-usage-error and code-style-check, and fix misplaced
  annotations.
- Document vim.inspect's callable module directly, removing the dummy
  assignment. Describe its parameters, option defaults and process
  callback.
- Remove LuaLS iterator fallbacks, correct iterator signatures and check
  values that the improved inference identifies as optional.
- Parse callable modules, require bindings and parent module references.
  Derive public names and inherited function docs from these links,
  including missing help for vim.async.semaphore() and vim.version().
- Export vim.lsp.tagfunc directly with lazy loading and document its
  implementation instead of maintaining a wrapper.
- Group files in section_order, replacing append_only and merge_files.
  Merge declarations before sorting each section, placing shared helpers
  in the main vim section and keeping vim.inspect in alphabetical order.
- Add basic parser coverage for callable modules and module links.

AI-assisted
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(gen): parse multiline table annotations</title>
<updated>2026-09-25T13:18:00+00:00</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2026-09-25T11:41:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=da2dc5696133d0a9859a2c8fd2f17a1911dbfd18'/>
<id>da2dc5696133d0a9859a2c8fd2f17a1911dbfd18</id>
<content type='text'>
AI-assisted
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
AI-assisted
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(gen): ignore return casts in generated documentation</title>
<updated>2026-09-25T09:28:19+00:00</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2026-09-24T12:17:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=20fa4b1be00e16242cdf9e977846370eeed2ec54'/>
<id>20fa4b1be00e16242cdf9e977846370eeed2ec54</id>
<content type='text'>
Return-cast annotations refine types but do not add return values.
Recognize them before @return and exclude them from rendered docs. Apply
narrowing to vim.isnil() without changing its runtime behavior.

AI-assisted
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Return-cast annotations refine types but do not add return values.
Recognize them before @return and exclude them from rendered docs. Apply
narrowing to vim.isnil() without changing its runtime behavior.

AI-assisted
</pre>
</div>
</content>
</entry>
<entry>
<title>build: replace LuaLS with EmmyLua</title>
<updated>2026-09-07T14:33:22+00:00</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2026-09-07T10:43:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=65ef6fdaeef86f8341293942c076b320acf03fd1'/>
<id>65ef6fdaeef86f8341293942c076b320acf03fd1</id>
<content type='text'>
Problem: LuaLS struggles with the generics used in Nvim's runtime,
requiring broad diagnostic suppressions. Indexing is also slow.

Solution: Use EmmyLua for type checks in the build and CI. It offers
more sophisticated type checking, substantially better support for
generics, and much better flow analysis.

Correct the affected annotations. Use `@internal`, supported directly by
EmmyLua, instead of `@nodoc` for shared internal declarations, and
support it in the help parser.

AI-assisted
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: LuaLS struggles with the generics used in Nvim's runtime,
requiring broad diagnostic suppressions. Indexing is also slow.

Solution: Use EmmyLua for type checks in the build and CI. It offers
more sophisticated type checking, substantially better support for
generics, and much better flow analysis.

Correct the affected annotations. Use `@internal`, supported directly by
EmmyLua, instead of `@nodoc` for shared internal declarations, and
support it in the help parser.

AI-assisted
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(vim.iter): add richer generic annotations</title>
<updated>2026-05-06T15:02:59+00:00</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2026-04-20T14:22:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=d7ef55e8817627af0f25dc2bb9ed9927d0049d6a'/>
<id>d7ef55e8817627af0f25dc2bb9ed9927d0049d6a</id>
<content type='text'>
Improve the vim.iter annotations with richer generics that track element and
tuple types through iterator pipelines, including multi-value stages and
list-specific methods.

Extend the LuaCATS parser and vimdoc generator so those richer generic classes
and overloads round-trip into the generated help. These annotations are only
supported by EmmyLua, so LuaLS still uses a broader fallback in _meta.lua.

AI-assisted: Codex
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Improve the vim.iter annotations with richer generics that track element and
tuple types through iterator pipelines, including multi-value stages and
list-specific methods.

Extend the LuaCATS parser and vimdoc generator so those richer generic classes
and overloads round-trip into the generated help. These annotations are only
supported by EmmyLua, so LuaLS still uses a broader fallback in _meta.lua.

AI-assisted: Codex
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(docs): render class dot members as module functions</title>
<updated>2026-04-16T08:50:36+00:00</updated>
<author>
<name>Yi Ming</name>
<email>ofseed@foxmail.com</email>
</author>
<published>2026-04-15T14:12:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=37aa66c1a29dca17a0e2c962d64694ddfe7cf945'/>
<id>37aa66c1a29dca17a0e2c962d64694ddfe7cf945</id>
<content type='text'>
AI-assisted: Codex
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
AI-assisted: Codex
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: resolve all remaining LuaLS warnings in `src/`</title>
<updated>2026-03-09T20:47:15+00:00</updated>
<author>
<name>Riccardo Mazzarini</name>
<email>me@noib3.dev</email>
</author>
<published>2026-03-01T11:59:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=92b2a267723922a60f0716a31d06d7d36115e103'/>
<id>92b2a267723922a60f0716a31d06d7d36115e103</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>docs: support overloads and async</title>
<updated>2025-06-16T08:18:42+00:00</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2025-06-13T11:12:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=8cfb993fdfb4ec73c6c8a5ec8d9935f0f8439efd'/>
<id>8cfb993fdfb4ec73c6c8a5ec8d9935f0f8439efd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: type fixes</title>
<updated>2025-06-06T14:36:48+00:00</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2025-06-05T10:31:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=3b6084ddf4f0d49fb0e5d135919c9daacea2a46d'/>
<id>3b6084ddf4f0d49fb0e5d135919c9daacea2a46d</id>
<content type='text'>
Type fixes caught by emmylua
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Type fixes caught by emmylua
</pre>
</div>
</content>
</entry>
<entry>
<title>build: move all generator scripts to `src/gen/`</title>
<updated>2025-02-26T16:54:37+00:00</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2025-02-26T11:38:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=0f24b0826a27b7868a3aacc25199787e7453d4cc'/>
<id>0f24b0826a27b7868a3aacc25199787e7453d4cc</id>
<content type='text'>
- Move all generator Lua scripts to the `src/gen/`
- Add a `.luarc.json` to `src/gen/`
- Add a `preload.lua` to `src/gen/`
  - Add `src` to `package.path` so it aligns with `.luarc.json'
- Fix all `require` statements in `src/gen/` so they are consistent:
    - `require('scripts.foo')` -&gt; `require('gen.foo')`
    - `require('src.nvim.options')` -&gt; `require('nvim.options')`
    - `require('api.dispatch_deprecated')` -&gt; `require('nvim.api.dispatch_deprecated')`
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Move all generator Lua scripts to the `src/gen/`
- Add a `.luarc.json` to `src/gen/`
- Add a `preload.lua` to `src/gen/`
  - Add `src` to `package.path` so it aligns with `.luarc.json'
- Fix all `require` statements in `src/gen/` so they are consistent:
    - `require('scripts.foo')` -&gt; `require('gen.foo')`
    - `require('src.nvim.options')` -&gt; `require('nvim.options')`
    - `require('api.dispatch_deprecated')` -&gt; `require('nvim.api.dispatch_deprecated')`
</pre>
</div>
</content>
</entry>
</feed>
