nvim-neo-tree / neo-tree.nvim

Neovim plugin to manage the file system and other tree like structures.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BUG: can't navigate up when folder removed from under neo-tree

minusf opened this issue · comments

Did you check docs and existing issues?

  • I have read all the docs.
  • I have searched the existing issues.
  • I have searched the existing discussions.

Neovim Version (nvim -v)

NVIM v0.9.5

Operating System / Version

macos 14.4.1

Describe the Bug

If a folder is removed that is the active folder in neo-tree, it's not possible to navigate up, neo-tree is just stuck marveling where the current folder went to with the error message ENOENT: no such file or directory:. After closing and reopening, it correctly pick ups however many times backspace was pressed.

Screenshots, Traceback

No response

Steps to Reproduce

  1. remove current working directory from outside nvim while neo-tree is open
  2. try to navigate up

Expected Behavior

navigate up and forget about the deleted folder.

Your Configuration

-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath, })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  -- add any other plugins here
}

local neotree_config = {
  "nvim-neo-tree/neo-tree.nvim",
  dependencies = { "MunifTanjim/nui.nvim", "nvim-tree/nvim-web-devicons", "nvim-lua/plenary.nvim" },
  cmd = { "Neotree" },
  keys = {
    { "<Leader>e", "<Cmd>Neotree<CR>" }, -- change or remove this line if relevant.
  },
  opts = {
    -- Your config here
    -- ...
    enable_git_status = false,
    enable_diagnostics = false
  },
}

table.insert(plugins, neotree_config)
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here