fix: stop using vim.wo to set window options
vim.wo also affects the global status of the option. We only want to set the window-local option.
This commit is contained in:
parent
59dc12a978
commit
6f8bf067c0
5 changed files with 16 additions and 8 deletions
|
|
@ -277,7 +277,7 @@ M.open_float = function(dir)
|
|||
local winid = vim.api.nvim_open_win(bufnr, true, win_opts)
|
||||
vim.w[winid].is_oil_win = true
|
||||
for k, v in pairs(config.float.win_options) do
|
||||
vim.wo[winid][k] = v
|
||||
vim.api.nvim_set_option_value(k, v, { scope = "local", win = winid })
|
||||
end
|
||||
local autocmds = {}
|
||||
table.insert(
|
||||
|
|
@ -540,7 +540,7 @@ M.select = function(opts)
|
|||
})
|
||||
end
|
||||
if opts.preview then
|
||||
vim.wo.previewwindow = true
|
||||
vim.api.nvim_set_option_value("previewwindow", true, { scope = "local", win = 0 })
|
||||
vim.w.oil_entry_id = entry.id
|
||||
vim.api.nvim_set_current_win(prev_win)
|
||||
end
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ M.show = vim.schedule_wrap(function(actions, should_confirm, cb)
|
|||
vim.bo[bufnr].filetype = "oil_preview"
|
||||
vim.bo[bufnr].syntax = "oil_preview"
|
||||
for k, v in pairs(config.preview.win_options) do
|
||||
vim.wo[winid][k] = v
|
||||
vim.api.nvim_set_option_value(k, v, { scope = "local", win = winid })
|
||||
end
|
||||
|
||||
render_lines(winid, bufnr, lines)
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ function Progress:show(opts)
|
|||
})
|
||||
vim.bo[self.bufnr].filetype = "oil_progress"
|
||||
for k, v in pairs(config.preview.win_options) do
|
||||
vim.wo[self.winid][k] = v
|
||||
vim.api.nvim_set_option_value(k, v, { scope = "local", win = self.winid })
|
||||
end
|
||||
table.insert(
|
||||
self.autocmds,
|
||||
|
|
|
|||
|
|
@ -348,7 +348,11 @@ M.add_title_to_win = function(winid, opts)
|
|||
noautocmd = true,
|
||||
})
|
||||
winid_map[winid] = title_winid
|
||||
vim.wo[title_winid].winblend = vim.wo[winid].winblend
|
||||
vim.api.nvim_set_option_value(
|
||||
"winblend",
|
||||
vim.wo[winid].winblend,
|
||||
{ scope = "local", win = title_winid }
|
||||
)
|
||||
vim.bo[bufnr].bufhidden = "wipe"
|
||||
|
||||
local update_autocmd = vim.api.nvim_create_autocmd("BufWinEnter", {
|
||||
|
|
@ -397,7 +401,11 @@ M.add_title_to_win = function(winid, opts)
|
|||
end
|
||||
vim.api.nvim_buf_set_lines(bufnr, 0, -1, true, { " " .. title .. " " })
|
||||
vim.bo[bufnr].modified = false
|
||||
vim.wo[title_winid].winhighlight = "Normal:FloatTitle,NormalFloat:FloatTitle"
|
||||
vim.api.nvim_set_option_value(
|
||||
"winhighlight",
|
||||
"Normal:FloatTitle,NormalFloat:FloatTitle",
|
||||
{ scope = "local", win = title_winid }
|
||||
)
|
||||
end
|
||||
|
||||
---@param action oil.Action
|
||||
|
|
|
|||
|
|
@ -162,7 +162,7 @@ M.set_win_options = function()
|
|||
vim.api.nvim_win_set_var(winid, varname, prev_value)
|
||||
end
|
||||
end
|
||||
vim.wo[winid][k] = v
|
||||
vim.api.nvim_set_option_value(k, v, { scope = "local", win = winid })
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -172,7 +172,7 @@ M.restore_win_options = function()
|
|||
local varname = "_oil_" .. k
|
||||
local has_opt, opt = pcall(vim.api.nvim_win_get_var, winid, varname)
|
||||
if has_opt then
|
||||
vim.wo[winid][k] = opt
|
||||
vim.api.nvim_set_option_value(k, opt, { scope = "local", win = winid })
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue