mirror of
https://github.com/neovim/neovim.git
synced 2025-12-09 16:12:48 +00:00
Merge pull request #25286 from rktjmp/doc-vim-schedule-wrap
docs: add more context to vim.schedule_wrap
This commit is contained in:
@@ -316,18 +316,29 @@ do
|
||||
end
|
||||
end
|
||||
|
||||
--- Defers callback `cb` until the Nvim API is safe to call.
|
||||
--- Returns a function which calls {fn} via |vim.schedule()|.
|
||||
---
|
||||
--- The returned function passes all arguments to {fn}.
|
||||
---
|
||||
--- Example:
|
||||
---
|
||||
--- ```lua
|
||||
--- function notify_readable(_err, readable)
|
||||
--- vim.notify("readable? " .. tostring(readable))
|
||||
--- end
|
||||
--- vim.uv.fs_access(vim.fn.stdpath("config"), "R", vim.schedule_wrap(notify_readable))
|
||||
--- ```
|
||||
---
|
||||
---@see |lua-loop-callbacks|
|
||||
---@see |vim.schedule()|
|
||||
---@see |vim.in_fast_event()|
|
||||
---@param cb function
|
||||
---@param fn function
|
||||
---@return function
|
||||
function vim.schedule_wrap(cb)
|
||||
function vim.schedule_wrap(fn)
|
||||
return function(...)
|
||||
local args = vim.F.pack_len(...)
|
||||
vim.schedule(function()
|
||||
cb(vim.F.unpack_len(args))
|
||||
fn(vim.F.unpack_len(args))
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -194,10 +194,10 @@ function vim.str_utfindex(str, index) end
|
||||
--- @return string|nil Converted string if conversion succeeds, `nil` otherwise.
|
||||
function vim.iconv(str, from, to, opts) end
|
||||
|
||||
--- Schedules {callback} to be invoked soon by the main event-loop. Useful
|
||||
--- Schedules {fn} to be invoked soon by the main event-loop. Useful
|
||||
--- to avoid |textlock| or other temporary restrictions.
|
||||
--- @param callback fun()
|
||||
function vim.schedule(callback) end
|
||||
--- @param fn function
|
||||
function vim.schedule(fn) end
|
||||
|
||||
--- Wait for {time} in milliseconds until {callback} returns `true`.
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user