Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug: which-key messes up nvim mode (shown in lualine) #534

Closed
3 tasks done
Susensio opened this issue Oct 27, 2023 · 1 comment
Closed
3 tasks done

bug: which-key messes up nvim mode (shown in lualine) #534

Susensio opened this issue Oct 27, 2023 · 1 comment
Labels
bug Something isn't working

Comments

@Susensio
Copy link

Did you check docs and existing issues?

  • I have read all the which-key.nvim docs
  • I have searched the existing issues of which-key.nvim
  • I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)

0.9.4

Operating system/version

Debian trixie

Describe the bug

When using which-key for operator pending mappings, lualine mode won't show OP-PENDING.
As lualine is just calling vim.api.nvim_get_mode() https://github.com/nvim-lualine/lualine.nvim/blob/2248ef254d0a1488a72041cfb45ca9caada6d994/lua/lualine/utils/mode.lua#L47 I guess which-key popup is changing nvim mode inadvertently.

Steps To Reproduce

  1. press d operator pending command
  2. wait
  3. which-key popup shows
  4. nvim mode is NORMAL in lualine

if I enabled = false which-key

  1. press d operator pending command
  2. nvim mode is O-PENDING in lualine

Expected Behavior

It would be nice if popup would not change the underlying nvim mode.

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/which-key.nvim", config = true },
  { "nvim-lualine/lualine.nvim", config = true },
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
@Susensio Susensio added the bug Something isn't working label Oct 27, 2023
@folke
Copy link
Owner

folke commented Oct 27, 2023

That's to be expected, since you won't be in op-pending mode when which-key shows and becasue of redraws

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants