Skip to content

Opening file in new tab, replaces previous tab file with NvimTree #2933

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
itsramiel opened this issue Sep 28, 2024 · 2 comments
Open

Opening file in new tab, replaces previous tab file with NvimTree #2933

itsramiel opened this issue Sep 28, 2024 · 2 comments
Labels
bug Something isn't working PR please nvim-tree team does not have the bandwidth to implement; a PR will be gratefully appreciated

Comments

@itsramiel
Copy link
Contributor

Description

If I have one buffer open, say file1.txt, then I open nvim tree and open another file in a new tab using api.node.open.tab, opts("Open in New Tab"), then the file is opened correctly in a new tab but the previously opened tab file is replaced with NvimTree. This causes an issue because if I wanted to go back to the previous tab, expecting it to be file1, then I see the nvim tree and I have to close it to see the file1.

Recording:

Screen.Recording.2024-09-28.at.11.02.23.AM.mov

Neovim version

NVIM v0.10.1
Build type: Release
LuaJIT 2.1.1725453128
Run "nvim -V1 -v" for more info

Operating system and version

Macos 14.6.1

Windows variant

No response

nvim-tree version

"nvim-tree.lua": { "branch": "master", "commit": "d41b4ca013ed89e41b9c0ecbdae5f1633e42f7fa" },

Clean room replication

Reproducible with same clean room replication:
<video src="https://github.com/user-attachments/assets/6f83ea51-5c9a-47f9-aa16-ab5e24b9562f"></video>


vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1

vim.cmd [[set runtimepath=$VIMRUNTIME]]
vim.cmd [[set packpath=/tmp/nvt-min/site]]
local package_root = "/tmp/nvt-min/site/pack"
local install_path = package_root .. "/packer/start/packer.nvim"
local function load_plugins()
  require("packer").startup {
    {
      "wbthomason/packer.nvim",
      "nvim-tree/nvim-tree.lua",
      "nvim-tree/nvim-web-devicons",
      -- ADD PLUGINS THAT ARE _NECESSARY_ FOR REPRODUCING THE ISSUE
    },
    config = {
      package_root = package_root,
      compile_path = install_path .. "/plugin/packer_compiled.lua",
      display = { non_interactive = true },
    },
  }
end
if vim.fn.isdirectory(install_path) == 0 then
  print "Installing nvim-tree and dependencies."
  vim.fn.system { "git", "clone", "--depth=1", "https://github.com/wbthomason/packer.nvim", install_path }
end
load_plugins()
require("packer").sync()
vim.cmd [[autocmd User PackerComplete ++once echo "Ready!" | lua setup()]]
vim.opt.termguicolors = true
vim.opt.cursorline = true

-- MODIFY NVIM-TREE SETTINGS THAT ARE _NECESSARY_ FOR REPRODUCING THE ISSUE
_G.setup = function()
  require("nvim-tree").setup {}
end

-- UNCOMMENT this block for diagnostics issues, substituting pattern and cmd as appropriate.
-- Requires diagnostics.enable = true in setup.
--[[
vim.api.nvim_create_autocmd("FileType", {
  pattern = "lua",
  callback = function()
    vim.lsp.start { cmd = { "lua-language-server" } }
  end,
})
]]


### Steps to reproduce

1. create two files
2. nvim -nu /tmp/nvt-min.lua
3. NvimTreeOpen
4. press enter on file1.txt
5. press <C-w> twice to go back to nvim tree
6. go to file2.txt and press <C-t> to open it in a new tab

Notice how the tabs that are open now are NvimTree_1 and file2.txt instead of expected file1.txt and file2.txt

### Expected behavior

I expect that when opening a file in a new tab, the previously opened tab is maintained

### Actual behavior

Nvimtree is replacing the previously opened tab until I go to the nvim tree tab and toggle it back
@itsramiel itsramiel added the bug Something isn't working label Sep 28, 2024
@itsramiel
Copy link
Contributor Author

My workaround is:

vim.keymap.set("n", "<C-t>", function()
	api.node.open.tab()
	vim.cmd("-tabnext")
	api.tree.toggle()
	vim.cmd("tabnext")
end, opts("Open in New Tab"))

But I would love for this to be fixed internally 🙏

@alex-courtis
Copy link
Member

Tab behaviour will be overhauled in

In the meantime, a Pull Request would be most gratefully appreciated.

@alex-courtis alex-courtis added the PR please nvim-tree team does not have the bandwidth to implement; a PR will be gratefully appreciated label Sep 29, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
bug Something isn't working PR please nvim-tree team does not have the bandwidth to implement; a PR will be gratefully appreciated
Projects
None yet
Development

No branches or pull requests

2 participants