From a85e6c725fd8ca3634beb0866ddac10620531cb4 Mon Sep 17 00:00:00 2001 From: Toby Vincent Date: Sun, 8 Oct 2023 23:40:28 -0500 Subject: fix(nvim): fix oil session issues --- nvim/.config/nvim/lua/plugins/oil.lua | 3 ++- nvim/.config/nvim/lua/tobyvin/autocmds.lua | 22 ++++++++-------------- 2 files changed, 10 insertions(+), 15 deletions(-) (limited to 'nvim/.config') diff --git a/nvim/.config/nvim/lua/plugins/oil.lua b/nvim/.config/nvim/lua/plugins/oil.lua index 5479265..0d69173 100644 --- a/nvim/.config/nvim/lua/plugins/oil.lua +++ b/nvim/.config/nvim/lua/plugins/oil.lua @@ -3,7 +3,8 @@ local M = { "stevearc/oil.nvim", version = "*", - cmd = { "Oil", "BufNew" }, + cmd = { "Oil" }, + event = { "BufNew", "ColorScheme", "SessionLoadPost" }, opts = { default_file_explorer = true, skip_confirm_for_simple_edits = true, diff --git a/nvim/.config/nvim/lua/tobyvin/autocmds.lua b/nvim/.config/nvim/lua/tobyvin/autocmds.lua index f0f6eb1..e995472 100644 --- a/nvim/.config/nvim/lua/tobyvin/autocmds.lua +++ b/nvim/.config/nvim/lua/tobyvin/autocmds.lua @@ -9,22 +9,15 @@ vim.api.nvim_create_autocmd("TextYankPost", { desc = "Highlight yank", }) --- HACK: Temporary fix for statusline background issue when nvim-cmp menu closes --- Ref: https://github.com/neovim/neovim/issues/22614 -vim.api.nvim_create_autocmd("CmdlineLeave", { - group = augroup, - pattern = "*", - callback = function() - vim.schedule(function() - vim.o.background = "dark" - end) - end, - desc = "Temporary highlight fix", -}) - vim.api.nvim_create_autocmd("VimLeavePre", { group = vim.api.nvim_create_augroup("session", { clear = true }), callback = function() + -- HACK: Workaround for bug preventing restoration of current/alt buffers. + -- See: https://github.com/stevearc/oil.nvim/issues/29 + if vim.bo.filetype == "oil" then + require("oil").close() + end + if vim.fn.argc() == 0 and #vim.fn.getbufinfo({ buflisted = 1, bufloaded = 1 }) > 0 then pcall(require("tobyvin.utils.session").write) end @@ -61,7 +54,8 @@ vim.api.nvim_create_autocmd("TermOpen", { vim.api.nvim_create_autocmd("BufWritePre", { group = augroup, callback = function(args) - if not vim.bo[args.buf].buflisted then + -- HACK: Workaround for writing oil.nvim buffers + if not vim.bo[args.buf].buflisted or vim.bo.filetype == "oil" then return end -- cgit v1.2.3-70-g09d2