Skip to content

staging not working with custom keyboard layout #651

@B4rc1

Description

@B4rc1

Description

I have a custom keyboard layout and remap some basic keys like this:

noremap l n
noremap n l

since commit 9787c94 I can no longer stage hunks, because it tries to go to the next search pattern.

Neovim version

NVIM v0.8.0 Build type: Release LuaJIT 2.1.0-beta3 Compiled by nixbld Features: +acl +iconv +tui See ":help feature-compile" system vimrc file: "$VIM/sysinit.vim" fall-back for $VIM: " /nix/store/14a0mn10gkbxs5knxa4kxk8qlbgi9k0c-neovim-unwrapped-0.8.0/share/nvim " Run :checkhealth for more info

Operating system and version

NixOS, mostly 22.05

Expected behavior

Being able to stage hunks

Actual behavior

attempts to jump to next search result:

Error executing Lua callback: ...vim/site/pack/test/start/gitsigns/lua/gitsigns/async.lua:62: The coroutine failed with this message: ...im/site/pack/test/start/gitsigns/lua/gitsigns
/repeat.lua:25: Vim(normal):E35: No previous regular expression
stack traceback:
        [C]: in function 'cmd'
        ...im/site/pack/test/start/gitsigns/lua/gitsigns/repeat.lua:25: in function 'stage_hunk'
        ...m/site/pack/test/start/gitsigns/lua/gitsigns/actions.lua:278: in function 'cmd_func'
        /tmp/nvim/site/pack/test/start/gitsigns/lua/gitsigns.lua:381: in function </tmp/nvim/site/pack/test/start/gitsigns/lua/gitsigns.lua:362>
stack traceback:
        [C]: in function 'error'
        ...vim/site/pack/test/start/gitsigns/lua/gitsigns/async.lua:62: in function 'step'
        ...vim/site/pack/test/start/gitsigns/lua/gitsigns/async.lua:77: in function <...vim/site/pack/test/start/gitsigns/lua/gitsigns/async.lua:50>

Minimal config

vim.o.packpath = '/tmp/nvim/site'

local plugins = {
  gitsigns = 'https://github.com/lewis6991/gitsigns.nvim',
  -- ADD OTHER PLUGINS _NECESSARY_ TO REPRODUCE THE ISSUE
}

for name, url in pairs(plugins) do
  local install_path = '/tmp/nvim/site/pack/test/start/'..name
  if vim.fn.isdirectory(install_path) == 0 then
    vim.fn.system { 'git', 'clone', '--depth=1', url, install_path }
  end
end

require('gitsigns').setup{
  debug_mode = true, -- You must add this to enable debug messages
  -- ADD GITSIGNS CONFIG THAT IS _NECESSARY_ FOR REPRODUCING THE ISSUE
}

-- ADD INIT.LUA SETTINGS THAT IS _NECESSARY_ FOR REPRODUCING THE ISSUE
vim.cmd [[
noremap l n
noremap n l
]]

Steps to reproduce

  1. be in a git repository
  2. nvim --clean -u minimal.lua
  3. change something
  4. execute :Gitsigns stage_hunk

Gitsigns debug messages

signs.init: Using vimfn signs
run_job: git --no-pager --literal-pathspecs --version
fn: Deriving GitSignsAdd from DiffAdd
fn: Deriving GitSignsChange from DiffChange
fn: Deriving GitSignsDelete from DiffDelete
fn: Deriving GitSignsAddNr from GitSignsAdd
fn: Deriving GitSignsChangeNr from GitSignsChange
fn: Deriving GitSignsDeleteNr from GitSignsDelete
fn: Deriving GitSignsAddLn from DiffAdd
fn: Deriving GitSignsChangeLn from DiffChange
fn: Deriving GitSignsAddPreview from DiffAdd
fn: Deriving GitSignsDeletePreview from DiffDelete
fn: Deriving GitSignsCurrentLineBlame from NonText
fn: Deriving GitSignsAddInline from TermCursor
fn: Deriving GitSignsDeleteInline from TermCursor
fn: Deriving GitSignsChangeInline from TermCursor
fn: Deriving GitSignsAddLnInline from GitSignsAddInline
fn: Deriving GitSignsChangeLnInline from GitSignsChangeInline
fn: Deriving GitSignsDeleteLnInline from GitSignsDeleteInline
fn: Deriving GitSignsAddLnVirtLn from GitSignsAddLn
fn: Deriving GitSignsChangeVirtLn from GitSignsChangeLn
fn: Deriving GitSignsDeleteVirtLn from DiffDelete
fn: Deriving GitSignsAddLnVirtLnInLine from GitSignsAddLnInline
fn: Deriving GitSignsChangeVirtLnInLine from GitSignsChangeLnInline
fn: Deriving GitSignsDeleteVirtLnInLine from GitSignsDeleteLnInline
run_job: git --no-pager --literal-pathspecs rev-parse --show-toplevel --absolute-git-dir --abbrev-ref HEAD

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions