fix: properly hijack netrw, don't always open on dir

- fix hijack netrw logic
- do not open on directory if open_on_setup is false, but do if the
  window is open.
This commit is contained in:
kiyan
2021-09-30 12:26:55 +02:00
parent 34af2d22ad
commit e2e7720caa

View File

@@ -19,7 +19,7 @@ local _config = {
}, },
system_open = {}, system_open = {},
ignore_ft_on_setup = {}, ignore_ft_on_setup = {},
open_on_setup = {}, open_on_setup = false,
} }
local M = {} local M = {}
@@ -301,6 +301,9 @@ function M.on_leave()
end end
function M.open_on_directory() function M.open_on_directory()
if not (_config.open_on_setup or view.win_open()) then
return
end
local buf = api.nvim_get_current_buf() local buf = api.nvim_get_current_buf()
local bufname = api.nvim_buf_get_name(buf) local bufname = api.nvim_buf_get_name(buf)
if vim.fn.isdirectory(bufname) ~= 1 or bufname == lib.Tree.cwd then if vim.fn.isdirectory(bufname) ~= 1 or bufname == lib.Tree.cwd then
@@ -343,11 +346,12 @@ function M.place_cursor_on_node()
end end
local function manage_netrw(disable_netrw, hijack_netrw) local function manage_netrw(disable_netrw, hijack_netrw)
if hijack_netrw then
vim.cmd "silent! autocmd! FileExplorer *"
end
if disable_netrw then if disable_netrw then
vim.g.loaded_netrw = 1 vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1 vim.g.loaded_netrwPlugin = 1
elseif hijack_netrw then
vim.cmd "silent! autocmd! FileExplorer *"
end end
end end