refacto: move target_winid outside of tree
This commit is contained in:
@@ -95,8 +95,8 @@ local function open_file_in_tab(filename)
|
|||||||
else
|
else
|
||||||
-- Switch window first to ensure new window doesn't inherit settings from
|
-- Switch window first to ensure new window doesn't inherit settings from
|
||||||
-- NvimTree
|
-- NvimTree
|
||||||
if lib.Tree.target_winid > 0 and api.nvim_win_is_valid(lib.Tree.target_winid) then
|
if lib.target_winid > 0 and api.nvim_win_is_valid(lib.target_winid) then
|
||||||
api.nvim_set_current_win(lib.Tree.target_winid)
|
api.nvim_set_current_win(lib.target_winid)
|
||||||
else
|
else
|
||||||
vim.cmd("wincmd p")
|
vim.cmd("wincmd p")
|
||||||
end
|
end
|
||||||
@@ -133,13 +133,13 @@ function M.fn(mode, filename)
|
|||||||
|
|
||||||
local target_winid
|
local target_winid
|
||||||
if vim.g.nvim_tree_disable_window_picker == 1 or mode == "edit_no_picker" then
|
if vim.g.nvim_tree_disable_window_picker == 1 or mode == "edit_no_picker" then
|
||||||
target_winid = lib.Tree.target_winid
|
target_winid = lib.target_winid
|
||||||
else
|
else
|
||||||
target_winid = pick_window()
|
target_winid = pick_window()
|
||||||
end
|
end
|
||||||
|
|
||||||
if target_winid == -1 then
|
if target_winid == -1 then
|
||||||
target_winid = lib.Tree.target_winid
|
target_winid = lib.target_winid
|
||||||
end
|
end
|
||||||
|
|
||||||
local do_split = mode == "split" or mode == "vsplit"
|
local do_split = mode == "split" or mode == "vsplit"
|
||||||
@@ -164,7 +164,7 @@ function M.fn(mode, filename)
|
|||||||
local splitside = view.is_vertical() and "vsp" or "sp"
|
local splitside = view.is_vertical() and "vsp" or "sp"
|
||||||
vim.cmd(window_opts.split_command .. " " .. splitside)
|
vim.cmd(window_opts.split_command .. " " .. splitside)
|
||||||
target_winid = api.nvim_get_current_win()
|
target_winid = api.nvim_get_current_win()
|
||||||
lib.Tree.target_winid = target_winid
|
lib.target_winid = target_winid
|
||||||
|
|
||||||
-- No need to split, as we created a new window.
|
-- No need to split, as we created a new window.
|
||||||
do_split = false
|
do_split = false
|
||||||
|
|||||||
@@ -10,12 +10,13 @@ local git = require'nvim-tree.git'
|
|||||||
|
|
||||||
local first_init_done = false
|
local first_init_done = false
|
||||||
|
|
||||||
local M = {}
|
local M = {
|
||||||
|
target_winid = nil,
|
||||||
|
}
|
||||||
|
|
||||||
M.Tree = {
|
M.Tree = {
|
||||||
nodes = {},
|
nodes = {},
|
||||||
cwd = nil,
|
cwd = nil,
|
||||||
target_winid = nil,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
local function load_children(cwd, children, parent)
|
local function load_children(cwd, children, parent)
|
||||||
@@ -115,11 +116,11 @@ function M.set_target_win()
|
|||||||
local id = api.nvim_get_current_win()
|
local id = api.nvim_get_current_win()
|
||||||
local tree_id = view.get_winnr()
|
local tree_id = view.get_winnr()
|
||||||
if tree_id and id == tree_id then
|
if tree_id and id == tree_id then
|
||||||
M.Tree.target_winid = 0
|
M.target_winid = 0
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
M.Tree.target_winid = id
|
M.target_winid = id
|
||||||
end
|
end
|
||||||
|
|
||||||
function M.open()
|
function M.open()
|
||||||
|
|||||||
Reference in New Issue
Block a user