aboutsummaryrefslogtreecommitdiffstats
path: root/nvim/lua/plugins/oil.lua
diff options
context:
space:
mode:
Diffstat (limited to 'nvim/lua/plugins/oil.lua')
-rw-r--r--nvim/lua/plugins/oil.lua10
1 files changed, 8 insertions, 2 deletions
diff --git a/nvim/lua/plugins/oil.lua b/nvim/lua/plugins/oil.lua
index 0c0a2c3..9a2ca21 100644
--- a/nvim/lua/plugins/oil.lua
+++ b/nvim/lua/plugins/oil.lua
@@ -15,14 +15,20 @@ return {
return
end
- if vim.api.nvim_get_current_win() == oil_winnr then
+ local focused_win = vim.api.nvim_get_current_win() == oil_winnr
+ local correct_type = vim.bo[vim.api.nvim_win_get_buf(oil_winnr)].ft == "oil"
+
+ if focused_win and correct_type then
vim.api.nvim_win_close(oil_winnr, false)
oil_winnr = nil
+ elseif not correct_type then
+ vim.cmd("topleft vsplit +Oil")
+ oil_winnr = vim.api.nvim_get_current_win()
else
vim.api.nvim_set_current_win(oil_winnr)
end
end,
- desc = "Open Oil file explorer in a far left split, similar to :Lexplore"
+ desc = "Toggle Oil file explorer in a far left split, similar to :Lexplore"
} },
cmd = "Oil"
}