mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 03:18:16 +00:00

The official developer documentation in in :h dev-lua-doc specifies to use "--@" for special/magic tokens. However, this format is not consistent with EmmyLua notation (used by some Lua language servers) nor with the C version of the magic docstring tokens which use three comment characters. Further, the code base is currently split between usage of "--@", "---@", and "--- @". In an effort to remain consistent, change all Lua magic tokens to use "---@" and update the developer documentation accordingly.
32 lines
535 B
Lua
32 lines
535 B
Lua
local F = {}
|
|
|
|
--- Returns {a} if it is not nil, otherwise returns {b}.
|
|
---
|
|
---@param a
|
|
---@param b
|
|
function F.if_nil(a, b)
|
|
if a == nil then return b end
|
|
return a
|
|
end
|
|
|
|
-- Use in combination with pcall
|
|
function F.ok_or_nil(status, ...)
|
|
if not status then return end
|
|
return ...
|
|
end
|
|
|
|
-- Nil pcall.
|
|
function F.npcall(fn, ...)
|
|
return F.ok_or_nil(pcall(fn, ...))
|
|
end
|
|
|
|
--- Wrap a function to return nil if it fails, otherwise the value
|
|
function F.nil_wrap(fn)
|
|
return function(...)
|
|
return F.npcall(fn, ...)
|
|
end
|
|
end
|
|
|
|
|
|
return F
|