Skip to content

Cursor Jumps to present working directory after New File Creation #1615

@anoopd

Description

@anoopd

Description

The cursor jumps to the present working directory (pwd) after creating a file in any of the directories .

Neovim version

NVIM v0.7.2
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by brew@iMac-Pro

Operating system and version

ProductName: Mac OS X 10.15.7 ,BuildVersion: 19H2026

nvim-tree version

3676e0b

Minimal config

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",
      "kyazdani42/nvim-tree.lua",
      "kyazdani42/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

Steps to reproduce

  1. nvim -nu /tmp/nvt-min.lua
  2. :NvimTree
  3. Move to any sub directory
  4. Create a new file pressing a
  5. Press enter
  6. Cursor jumps to present working directory .

Expected behavior

The cursor should remain in the directory on which the file is created .

Actual behavior

Cursor jumps to the parent directory and have to use motion keys to open the newly created file

Activity

alex-courtis

alex-courtis commented on Oct 1, 2022

@alex-courtis
Member

I'm not able to reproduce; it seems I am missing a step. Attempt:

asciicast

kyazdani42

kyazdani42 commented on Oct 1, 2022

@kyazdani42
Member

I think there is a defer_fn in this area which might cause that if reload is slow after adding a file.

anoopd

anoopd commented on Oct 3, 2022

@anoopd
Author

@alex-courtis Sorry for being late . Please have a look . If i am trying it from the tmp folder itself then it is working as intended, but when working on a react project or a wordpress project the cursor jumps back .

https://asciinema.org/a/hfwiDZUqHhqUyTVZktaTStlaV

alex-courtis

alex-courtis commented on Oct 3, 2022

@alex-courtis
Member

Aha! It's the wrapped was properly created message forcing an enter press.

You're right about the defer_fn

Always calling reload then immediately focusing "resolves" the issue. Perhaps a synchronous call to refresh the directory followed by synchronous focus.

Thoughts @kyazdani42 ?

kyazdani42

kyazdani42 commented on Oct 3, 2022

@kyazdani42
Member

i dont mind a hack for this, current solution is already a hack :)

added a commit that references this issue on Oct 4, 2022
added a commit that references this issue on Oct 4, 2022
added a commit that references this issue on Oct 8, 2022
be2b4f5
added a commit that references this issue on Oct 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Participants

      @anoopd@alex-courtis@kyazdani42

      Issue actions

        Cursor Jumps to present working directory after New File Creation · Issue #1615 · nvim-tree/nvim-tree.lua