diff options
Diffstat (limited to 'runtime/lua/vim/F.lua')
-rw-r--r-- | runtime/lua/vim/F.lua | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/runtime/lua/vim/F.lua b/runtime/lua/vim/F.lua new file mode 100644 index 0000000000..5887e978b9 --- /dev/null +++ b/runtime/lua/vim/F.lua @@ -0,0 +1,24 @@ +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 + + +return F |