Skip to content

Diffviewer changes focus to first file after save #1448

Open
@radmen

Description

@radmen

Description

In diffview, after staging chunk of changes, the focus goes back to the first file in the navigator. This becomes a problem when diffing multiple files and auto-save plugin is enabled.

What happens is that I constantly need to find the last staged file, and move to the next one. It is quite an issue when trying to stage many different files.

Kooha-2024-08-15-09-38-57.mp4

Neovim version

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

Operating system and version

Fedora Bluefin

Steps to reproduce

  1. Prepare repo:
    mkdir /tmp/repro
    cd /tmp/repro
    echo "README\n" > README.md
    echo "UPDATING\n" > UPDATING.md
    echo "TEST\n" > TEST.md
    git add .
    git commit -m "Add files"
  2. Make some changes:
    echo "Hello There" >> README.md
    echo "Hello There" >> UPDATING.md
    echo "Hello There" >> TEST.md
  3. nvim -u minimal.lua
  4. :Neogit<CR>
  5. d u (open diff for unstaged files)
  6. Stage changes for the first file
  7. Stage changes for the second file

Expected behavior

Focus should remain on the just-staged file.

Actual behavior

Focus moves to the first file in tree.

Minimal config

vim.env.LAZY_STDPATH = "/tmp/.repro"
load(vim.fn.system("curl -s https://raw.githubusercontent.com/folke/lazy.nvim/main/bootstrap.lua"))()

require("lazy.minit").repro({
  spec = {
    -- add any other plugins here
    {
      "NeogitOrg/neogit",
      dependencies = {
        "nvim-lua/plenary.nvim",         -- required
        "sindrets/diffview.nvim",        -- optional - Diff integration

        -- Only one of these is needed, not both.
        "nvim-telescope/telescope.nvim", -- optional
        "ibhagwan/fzf-lua",              -- optional
      },
      config = true
    },
  },
})

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions