1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-02-03 18:50:03 +08:00
SpaceVim/lua/spacevim/api/vim/option.lua

30 lines
663 B
Lua
Raw Normal View History

2023-08-31 22:07:56 +08:00
local M = {}
-- this function require neovim v0.8.0+
2023-08-31 22:07:56 +08:00
function M.setlocalopt(buf, win, opts)
local getinfo
if vim.api.nvim_get_option_info2 then
getinfo = function(o)
return vim.api.nvim_get_option_info2(o, {})
end
else
getinfo = function(o)
return vim.api.nvim_get_option_info(o)
end
end
2023-08-31 22:07:56 +08:00
for o, value in pairs(opts) do
local info = getinfo(o)
2023-08-31 22:07:56 +08:00
if info.scope == 'win' then
vim.api.nvim_set_option_value(o, value, {
win = win,
})
elseif info.scope == 'buf' then
vim.api.nvim_set_option_value(o, value, {
buf = buf,
})
end
end
end
return M