diff --git a/lua/oil/init.lua b/lua/oil/init.lua index 908d6dd..67d462f 100644 --- a/lua/oil/init.lua +++ b/lua/oil/init.lua @@ -1397,15 +1397,6 @@ M.setup = function(opts) vim.w.oil_original_alternate = vim.w[parent_win].oil_original_alternate end, }) - vim.api.nvim_create_autocmd("BufAdd", { - desc = "Detect directory buffer and open oil file browser", - group = aug, - pattern = "*", - nested = true, - callback = function(params) - maybe_hijack_directory_buffer(params.buf) - end, - }) -- mksession doesn't save oil buffers in a useful way. We have to manually load them after a -- session finishes loading. See https://github.com/stevearc/oil.nvim/issues/29 vim.api.nvim_create_autocmd("SessionLoadPost", { @@ -1424,11 +1415,21 @@ M.setup = function(opts) end, }) - local bufnr = vim.api.nvim_get_current_buf() - if maybe_hijack_directory_buffer(bufnr) and vim.v.vim_did_enter == 1 then - -- manually call load on a hijacked directory buffer if vim has already entered - -- (the BufReadCmd will not trigger) - M.load_oil_buffer(bufnr) + if config.default_file_explorer then + vim.api.nvim_create_autocmd("BufAdd", { + desc = "Detect directory buffer and open oil file browser", + group = aug, + pattern = "*", + nested = true, + callback = function(params) + maybe_hijack_directory_buffer(params.buf) + end, + }) + + local bufnr = vim.api.nvim_get_current_buf() + if maybe_hijack_directory_buffer(bufnr) and vim.v.vim_did_enter == 1 then + M.load_oil_buffer(bufnr) + end end end