<feed xmlns='http://www.w3.org/2005/Atom'>
<title>neovim/runtime/lua/vim/health.lua, branch master</title>
<subtitle>Vim-fork focused on extensibility and usability</subtitle>
<id>http://git.waynecole.info/neovim/atom?h=master</id>
<link rel='self' href='http://git.waynecole.info/neovim/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/'/>
<updated>2026-04-24T15:57:35Z</updated>
<entry>
<title>feat(api): nvim_echo(percent=nil) means "unknown" progress #39029</title>
<updated>2026-04-24T15:57:35Z</updated>
<author>
<name>Peter Cardenas</name>
<email>16930781+PeterCardenas@users.noreply.github.com</email>
</author>
<published>2026-04-24T15:57:35Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=27191e0f4f4f9086180a8fbe3e52c1c280a70b09'/>
<id>urn:sha1:27191e0f4f4f9086180a8fbe3e52c1c280a70b09</id>
<content type='text'>
Problem:
No way to signal "unknown" or "indeterminate" progress percentage.

Solution:
Treat percent=nil as "indeterminate" percent.</content>
</entry>
<entry>
<title>refactor(excmd): migrate ex_checkhealth to Lua</title>
<updated>2026-04-20T00:12:05Z</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2026-04-18T14:40:25Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=fe7218528d70b6df006c356761a92620f6a989c7'/>
<id>urn:sha1:fe7218528d70b6df006c356761a92620f6a989c7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(progress): require "source" for progress-message #38514</title>
<updated>2026-03-28T13:22:22Z</updated>
<author>
<name>Shadman</name>
<email>shadmansaleh3@gmail.com</email>
</author>
<published>2026-03-28T13:22:22Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=7bf83cc2a651c586267fbad2e3e57d1a65857287'/>
<id>urn:sha1:7bf83cc2a651c586267fbad2e3e57d1a65857287</id>
<content type='text'>
Problem:
- Progress-events are filtered by "source". But "source" is not required by nvim_echo.
- Without "++nested" (force=false), nvim_echo in an event-handler does not trigger Progress events.
- vim.health does not declare a "source".

Solution:
- Make source mandatory for progress-messages
- Enable ++nested (force=true) by default when firing Progress event.
- Set "source" in vim.health module.</content>
</entry>
<entry>
<title>feat(lua): replace `buffer` with `buf` in vim.keymap.set/del #38360</title>
<updated>2026-03-21T16:00:06Z</updated>
<author>
<name>skewb1k</name>
<email>skewb1kunix@gmail.com</email>
</author>
<published>2026-03-21T16:00:06Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=4d3a67cd620152d11ab9b5f5bdd973f84cc2d44b'/>
<id>urn:sha1:4d3a67cd620152d11ab9b5f5bdd973f84cc2d44b</id>
<content type='text'>
The `buffer` option remains functional but is now undocumented.
Providing both will raise an error. Since providing `buf` was disallowed
before, there is no code that will break due to using `buffer` alongside
`buf`.</content>
</entry>
<entry>
<title>feat(stdlib): vim.fs.ext() returns file extension #36997</title>
<updated>2026-03-20T09:08:00Z</updated>
<author>
<name>Yochem van Rosmalen</name>
<email>git@yochem.nl</email>
</author>
<published>2026-03-20T09:08:00Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=72a63346d866c320bbf77c90db0574952bd1c076'/>
<id>urn:sha1:72a63346d866c320bbf77c90db0574952bd1c076</id>
<content type='text'>
Problem:
Checking the extension of a file is done often, e.g. in Nvim's codebase
for differentiating Lua and Vimscript files in the runtime. The current
way to do this in Lua is (1) a Lua pattern match, which has pitfalls
such as not considering filenames starting with a dot, or (2)
fnamemodify() which is both hard to discover and hard to use / read if
not very familiar with the possible modifiers.

vim.fs.ext() returns the file extension including the leading dot of
the extension. Similar to the "file extension" implementation of many
other stdlibs (including fnamemodify(file, ":e")), a leading dot
doesn't indicate the start of the extension. E.g.: the .git folder in a
repository doesn't have the extension .git, but it simply has no
extension, similar to a folder named git or any other filename without
dot(s).</content>
</entry>
<entry>
<title>refactor: integer functions, optimize asserts #34112</title>
<updated>2026-03-12T15:04:05Z</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2026-03-12T15:04:05Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=ce1154048b11cdc402d0e5da352a3adca19afb56'/>
<id>urn:sha1:ce1154048b11cdc402d0e5da352a3adca19afb56</id>
<content type='text'>
refactor(lua): add integer coercion helpers

Add vim._tointeger() and vim._ensure_integer(), including optional base
support, and switch integer-only tonumber()/assert call sites in the Lua
runtime to use them.

This also cleans up related integer parsing in LSP, health, loader, URI,
tohtml, and Treesitter code.

supported by AI</content>
</entry>
<entry>
<title>fix(health): add back `vim.cmd.redraw()` call (#37576)</title>
<updated>2026-01-27T07:54:27Z</updated>
<author>
<name>Olivia Kinnear</name>
<email>git@superatomic.dev</email>
</author>
<published>2026-01-27T07:54:27Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=c28113dd9d09b661061d25c147e39efadc6e700b'/>
<id>urn:sha1:c28113dd9d09b661061d25c147e39efadc6e700b</id>
<content type='text'>
Was erroneously removed by #37462 during rebase.</content>
</entry>
<entry>
<title>fix(ui): only internal messages are unsafe #37462</title>
<updated>2026-01-26T23:18:51Z</updated>
<author>
<name>luukvbaal</name>
<email>luukvbaal@gmail.com</email>
</author>
<published>2026-01-26T23:18:51Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=d30d91f3a49e19e61473b74e42adf68e9215220d'/>
<id>urn:sha1:d30d91f3a49e19e61473b74e42adf68e9215220d</id>
<content type='text'>
Problem:  Fast context for msg_show event inhibits vim.ui_attach from
          displaying a stream of messages from a single command.

Solution: Remove fast context from msg_show events emitted as a result
          of explicit API/command calls. The fast context was originally
          introduced to prevent issues with internal messages.</content>
</entry>
<entry>
<title>fix(health): redraw after emitting progress message #37567</title>
<updated>2026-01-26T21:15:47Z</updated>
<author>
<name>Olivia Kinnear</name>
<email>git@superatomic.dev</email>
</author>
<published>2026-01-26T21:15:47Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=e9d03b92b67ca8c798c95efe9b6abc7dae0666b3'/>
<id>urn:sha1:e9d03b92b67ca8c798c95efe9b6abc7dae0666b3</id>
<content type='text'>
Problem:
`vim.cmd.redraw()` is not called after displaying a progress message, so
vim will display progress for the previous health check, not the current
one.

Solution:
Call `vim.cmd.redraw()` so that the correct progress message is displayed.</content>
</entry>
<entry>
<title>fix(health): emit Progress message #37123</title>
<updated>2026-01-09T22:00:09Z</updated>
<author>
<name>Yochem van Rosmalen</name>
<email>git@yochem.nl</email>
</author>
<published>2026-01-09T22:00:09Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=f19653e3706df41190fe4fb80779f5ad37795159'/>
<id>urn:sha1:f19653e3706df41190fe4fb80779f5ad37795159</id>
<content type='text'>
Problem:
The `"Running healthchecks..."` message doesn't inform the user much and
is a hack from before we got a way to emit actual progress messages.

Solution:
Use `nvim_echo` to emit progress messages showing the name of the report
that is currently running.</content>
</entry>
</feed>
