feat(util): get var either from buffer or global

This commit is contained in:
Folke Lemaitre 2024-12-12 09:18:12 +01:00
parent baf8c180d9
commit 42439123c4
No known key found for this signature in database
GPG key ID: 41F8B1FBACAE2040

View file

@ -197,4 +197,24 @@ function M.keycode(str)
return vim.api.nvim_replace_termcodes(str, true, true, true)
end
--- Get a buffer or global variable.
---@generic T
---@param buf? number
---@param name string
---@param default? T
---@return T
function M.var(buf, name, default)
local ok, ret = pcall(function()
return vim.b[buf or 0][name]
end)
if ok and ret ~= nil then
return ret
end
ret = vim.g[name]
if ret ~= nil then
return ret
end
return default
end
return M