fix(#1553): set correct side on vim open directory (#1594)

This commit is contained in:
Alexander Courtis
2022-09-22 09:06:23 +10:00
committed by GitHub
parent 3676e0b124
commit 5cb87c037d

View File

@@ -7,7 +7,7 @@ local view = require "nvim-tree.view"
local M = {} local M = {}
local function get_split_cmd() local function get_split_side()
local side = view.View.side local side = view.View.side
if side == "right" then if side == "right" then
return "aboveleft" return "aboveleft"
@@ -193,13 +193,12 @@ local function open_in_new_window(filename, mode, win_ids)
return return
end end
local do_split = mode == "split" or mode == "vsplit" local do_split = mode == "split" or mode == "vsplit"
local vertical = mode ~= "split" local split_side = get_split_side()
-- Target is invalid or window does not exist in current tabpage: create new window -- Target is invalid or window does not exist in current tabpage: create new window
if not target_winid or not vim.tbl_contains(win_ids, target_winid) then if not target_winid or not vim.tbl_contains(win_ids, target_winid) then
local split_cmd = get_split_cmd() local split_cmd = view.is_vertical() and "vsplit" or "split"
local splitside = view.is_vertical() and "vsp" or "sp" vim.cmd(split_side .. " " .. split_cmd)
vim.cmd(split_cmd .. " " .. splitside)
target_winid = api.nvim_get_current_win() target_winid = api.nvim_get_current_win()
lib.target_winid = target_winid lib.target_winid = target_winid
@@ -218,7 +217,8 @@ local function open_in_new_window(filename, mode, win_ids)
local cmd local cmd
if do_split or #api.nvim_list_wins() == 1 then if do_split or #api.nvim_list_wins() == 1 then
cmd = string.format("%ssplit %s", vertical and "vertical " or "", fname) local split_cmd = (mode ~= "split") and "vsplit" or "split"
cmd = string.format("%s %s %s", split_side, split_cmd, fname)
else else
cmd = string.format("edit %s", fname) cmd = string.format("edit %s", fname)
end end