diff --git a/lua/oil/init.lua b/lua/oil/init.lua index 558d657..0b3b09e 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.api.nvim_win_set_option(winid, k, v) + vim.wo[winid][k] = v end local autocmds = {} table.insert( @@ -540,8 +540,8 @@ M.select = function(opts) }) end if opts.preview then - vim.api.nvim_win_set_option(0, "previewwindow", true) - vim.api.nvim_win_set_var(0, "oil_entry_id", entry.id) + vim.wo.previewwindow = true + vim.w.oil_entry_id = entry.id vim.api.nvim_set_current_win(prev_win) end -- Set opts.split so that for every entry after the first, we do a split diff --git a/lua/oil/mutator/preview.lua b/lua/oil/mutator/preview.lua index f84e8c2..073e4b1 100644 --- a/lua/oil/mutator/preview.lua +++ b/lua/oil/mutator/preview.lua @@ -103,7 +103,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.api.nvim_win_set_option(winid, k, v) + vim.wo[winid][k] = v end render_lines(winid, bufnr, lines) diff --git a/lua/oil/mutator/progress.lua b/lua/oil/mutator/progress.lua index 402565b..b837495 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.api.nvim_win_set_option(self.winid, k, v) + vim.wo[self.winid][k] = v end table.insert( self.autocmds, diff --git a/lua/oil/util.lua b/lua/oil/util.lua index 46e94df..a0bc0ee 100644 --- a/lua/oil/util.lua +++ b/lua/oil/util.lua @@ -348,12 +348,8 @@ M.add_title_to_win = function(winid, opts) noautocmd = true, }) winid_map[winid] = title_winid - vim.api.nvim_win_set_option( - title_winid, - "winblend", - vim.api.nvim_win_get_option(winid, "winblend") - ) - vim.api.nvim_buf_set_option(bufnr, "bufhidden", "wipe") + vim.wo[title_winid].winblend = vim.wo[winid].winblend + vim.bo[bufnr].bufhidden = "wipe" local update_autocmd = vim.api.nvim_create_autocmd("BufWinEnter", { desc = "Update oil floating window title when buffer changes", @@ -401,11 +397,7 @@ 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.api.nvim_win_set_option( - title_winid, - "winhighlight", - "Normal:FloatTitle,NormalFloat:FloatTitle" - ) + vim.wo[title_winid].winhighlight = "Normal:FloatTitle,NormalFloat:FloatTitle" end ---@param action oil.Action @@ -542,7 +534,7 @@ end M.run_in_fullscreen_win = function(bufnr, callback) if not bufnr then bufnr = vim.api.nvim_create_buf(false, true) - vim.api.nvim_buf_set_option(bufnr, "bufhidden", "wipe") + vim.bo[bufnr].bufhidden = "wipe" end local winid = vim.api.nvim_open_win(bufnr, false, { relative = "editor", @@ -588,7 +580,7 @@ end ---@return nil|integer M.get_preview_win = function() for _, winid in ipairs(vim.api.nvim_tabpage_list_wins(0)) do - if vim.api.nvim_win_is_valid(winid) and vim.api.nvim_win_get_option(winid, "previewwindow") then + if vim.api.nvim_win_is_valid(winid) and vim.wo[winid].previewwindow then return winid end end diff --git a/lua/oil/view.lua b/lua/oil/view.lua index a8068a8..fb01bdb 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.api.nvim_win_set_option(winid, k, v) + vim.wo[winid][k] = v 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.api.nvim_win_set_option(winid, k, opt) + vim.wo[winid][k] = opt end end end @@ -535,7 +535,7 @@ M.render_buffer_async = function(bufnr, opts, callback) end local handle_error = vim.schedule_wrap(function(message) if not preserve_undo then - vim.bo[bufnr].undolevels = vim.api.nvim_get_option("undolevels") + vim.bo[bufnr].undolevels = vim.api.nvim_get_option_value("undolevels", { scope = "global" }) end util.render_text(bufnr, { "Error: " .. message }) if callback then @@ -566,7 +566,7 @@ M.render_buffer_async = function(bufnr, opts, callback) loading.set_loading(bufnr, false) render_buffer(bufnr, { jump = true }) if not preserve_undo then - vim.bo[bufnr].undolevels = vim.api.nvim_get_option("undolevels") + vim.bo[bufnr].undolevels = vim.api.nvim_get_option_value("undolevels", { scope = "global" }) end vim.bo[bufnr].modifiable = not buffers_locked and adapter.is_modifiable(bufnr) if callback then