nvimdev / lspsaga.nvim

improve neovim lsp experience
MIT License
3.44k stars 286 forks source link

Error when dismissing hover window #1451

Closed farzadmf closed 4 months ago

farzadmf commented 4 months ago

Describe the bug

When I open the hover for a variable/etc. (using K) and then try to dismiss the hover window (again using K), I get an error:

Error executing Lua callback: ...y_lazy/data/nvim/lazy/lspsaga.nvim/lua/lspsaga/hover.lua:339: WinClosed Autocommands for "<buffer=1134>": Vim(append):Error executing lua callback: ...my_lazy/data/nvim/lazy/lspsaga.nvim/lua/lspsaga/util.lua:101: E31: No such mapping
stack traceback:
    [C]: in function 'nvim_buf_del_keymap'
    ...my_lazy/data/nvim/lazy/lspsaga.nvim/lua/lspsaga/util.lua:101: in function 'delete_scroll_map'
    ...y_lazy/data/nvim/lazy/lspsaga.nvim/lua/lspsaga/hover.lua:166: in function <...y_lazy/data/nvim/lazy/lspsaga.nvim/lua/lspsaga/hover.lua:165>
    [C]: in function 'nvim_win_close'
    ...y_lazy/data/nvim/lazy/lspsaga.nvim/lua/lspsaga/hover.lua:339: in function 'render_hover_doc'
    ...lazy/data/nvim/lazy/lspsaga.nvim/lua/lspsaga/command.lua:26: in function <...lazy/data/nvim/lazy/lspsaga.nvim/lua/lspsaga/command.lua:25>
    ...lazy/data/nvim/lazy/lspsaga.nvim/lua/lspsaga/command.lua:80: in function 'load_command'
    ...m/my_lazy/data/nvim/lazy/lspsaga.nvim/plugin/lspsaga.lua:8: in function <...m/my_lazy/data/nvim/lazy/lspsaga.nvim/plugin/lspsaga.lua:7>
stack traceback:
    [C]: in function 'nvim_win_close'
    ...y_lazy/data/nvim/lazy/lspsaga.nvim/lua/lspsaga/hover.lua:339: in function 'render_hover_doc'
    ...lazy/data/nvim/lazy/lspsaga.nvim/lua/lspsaga/command.lua:26: in function <...lazy/data/nvim/lazy/lspsaga.nvim/lua/lspsaga/command.lua:25>
    ...lazy/data/nvim/lazy/lspsaga.nvim/lua/lspsaga/command.lua:80: in function 'load_command'
    ...m/my_lazy/data/nvim/lazy/lspsaga.nvim/plugin/lspsaga.lua:8: in function <...m/my_lazy/data/nvim/lazy/lspsaga.nvim/plugin/lspsaga.lua:7>

It's worth noting that the hover does get dismissed, but the error also happens.

Steps to reproduce

NOTE: since I have QUITE a few plugins, I didn't spend time, trying to create a minimal config; please let me know if that's absolutely necessary, and I can try to create something.

Part of my lspsaga config that I think is relevant to this:

{
  url = 'https://github.com/nvimdev/lspsaga.nvim',
  name = 'lspsaga.nvim',
  event = 'LspAttach',
  keys = {
    -- other keys
    lazy_key({ l = 'K', r = '<cmd>Lspsaga hover_doc ++keep<CR>', o = { desc = 'hover definition' } }),
  },
  -- other stuff
}

(My lazy_key function is just a wrapper function to return { 'K', '<cmd>...', desc = 'blah blah'})

Steps:

Expected behavior

Since the hover window is rightfully dismissed, I don't expect to see the error.

Neovim version (nvim -v)

0.10.0

lspsaga commit

200256d

Terminal name/version

Kitty 0.35.0