neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit ce5c7111f4050f168ddf4806287b4c384264b0fa
parent 61678811d8d3a26881b455d26acaa50378a659bf
Author: Justin M. Keyes <justinkz@gmail.com>
Date:   Mon, 23 Feb 2026 03:24:14 -0500

refactor: defer_fn return type #37999


Diffstat:
Mruntime/doc/lua.txt | 2+-
Mruntime/lua/vim/_core/editor.lua | 2+-
Mruntime/lua/vim/lsp.lua | 6++----
3 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/runtime/doc/lua.txt b/runtime/doc/lua.txt @@ -1285,7 +1285,7 @@ vim.defer_fn({fn}, {timeout}) *vim.defer_fn()* `fn` Return: ~ - (`table`) timer luv timer object + (`uv.uv_timer_t`) timer luv timer object *vim.deprecate()* vim.deprecate({name}, {alternative}, {version}, {plugin}, {backtrace}) diff --git a/runtime/lua/vim/_core/editor.lua b/runtime/lua/vim/_core/editor.lua @@ -513,7 +513,7 @@ end --- safe to call. ---@param fn function Callback to call once `timeout` expires ---@param timeout integer Number of milliseconds to wait before calling `fn` ----@return table timer luv timer object +---@return uv.uv_timer_t timer luv timer object function vim.defer_fn(fn, timeout) vim.validate('fn', fn, 'callable', true) diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua @@ -1141,9 +1141,8 @@ api.nvim_create_autocmd('VimLeavePre', { client:stop(client.exit_timeout) end - local exit_warning_timer --- @type uv.uv_timer_t? - if max_timeout > min_warn_exit_timeout then - exit_warning_timer = vim.defer_fn(function() + local exit_warning_timer = max_timeout > min_warn_exit_timeout + and vim.defer_fn(function() api.nvim_echo({ { string.format( @@ -1154,7 +1153,6 @@ api.nvim_create_autocmd('VimLeavePre', { }, }, true, {}) end, min_warn_exit_timeout) - end vim.wait(max_timeout, function() return vim.iter(active_clients):all(function(client)