Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

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

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in 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