diff --git a/lua/oil/init.lua b/lua/oil/init.lua index d88da7d..77fd10b 100644 --- a/lua/oil/init.lua +++ b/lua/oil/init.lua @@ -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 diff --git a/lua/oil/mutator/preview.lua b/lua/oil/mutator/preview.lua index 07a0993..54297e8 100644 --- a/lua/oil/mutator/preview.lua +++ b/lua/oil/mutator/preview.lua @@ -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) diff --git a/lua/oil/mutator/progress.lua b/lua/oil/mutator/progress.lua index b837495..d208c2d 100644 --- a/lua/oil/mutator/progress.lua +++ b/lua/oil/mutator/progress.lua @@ -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, diff --git a/lua/oil/util.lua b/lua/oil/util.lua index a0bc0ee..627b6fc 100644 --- a/lua/oil/util.lua +++ b/lua/oil/util.lua @@ -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 diff --git a/lua/oil/view.lua b/lua/oil/view.lua index fb01bdb..bdae78d 100644 --- a/lua/oil/view.lua +++ b/lua/oil/view.lua @@ -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