folke / flash.nvim

Navigate your code with search labels, enhanced character motions and Treesitter integration
Apache License 2.0
2.24k stars 28 forks source link

bug: dot-repeat breaks for `dt/df` motions when moving lines if `multi_line` is false #189

Open norbertkeri opened 11 months ago

norbertkeri commented 11 months ago

Did you check docs and existing issues?

Neovim version (nvim -v)

0.9.1

Operating system/version

Arch linux

Describe the bug

If you disable multi_line, the dot operator will do nothing after dt/df motions. If you don't disable it, the dot operator works fine.

What's also sightly interesting is that you will have to press "u" 2 times to correctly undo the deletion, I assume the bug also causes an incorrect undo entry.

Steps To Reproduce

            require("flash").setup({
                modes = {
                    char = {
                        multi_line = false,
                    }
                }
            })

And you have the following text, where | is the cursor:

-- |foo,bar,baz
-- foo,bar,baz

Press df,j.

Expected Behavior

-- bar,baz
-- |bar,baz

Repro

-- 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",
    { "folke/flash.nvim", opts = {
    modes = {
        char = {
        multi_line = false
        }
    }
    }
},
-- add any other plugins here
}
require("lazy").setup(plugins, {
    root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")

-- foo,bar,baz
-- foo,bar,baz
github-actions[bot] commented 4 days ago

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days.

norbertkeri commented 3 days ago

The bug is still present but I'm ok with closing