folke / trouble.nvim

🚦 A pretty diagnostics, references, telescope results, quickfix and location list to help you solve all the trouble your code is causing.
Apache License 2.0
5.11k stars 173 forks source link

bug: when use `za`, get Unhandled promise rejection: attempt to call field 'action' (a table value) #494

Closed milanglacier closed 3 weeks ago

milanglacier commented 3 weeks ago

Did you check docs and existing issues?

Neovim version (nvim -v)

0.10

Operating system/version

macos

Describe the bug

when use za, zo, zc stuffs in trouble window, get the following error:

Unhandled promise rejection:
```lua
...l/share/nvim/lazy/trouble.nvim/lua/trouble/view/init.lua:412: attempt to call field 'action' (a table value)

stack traceback:
    ...cal/share/nvim/lazy/trouble.nvim/lua/trouble/promise.lua:34: in function 'transition'
    ...cal/share/nvim/lazy/trouble.nvim/lua/trouble/promise.lua:48: in function 'reject'
    ...cal/share/nvim/lazy/trouble.nvim/lua/trouble/promise.lua:81: in function <...cal/share/nvim/lazy/trouble.nvim/lua/trouble/promise.lua:67>```

Steps To Reproduce

  1. suppose I have a following file named xxx.md in current directory:
hello
hello
hello
hello
  1. :vimgrep /hello/ *.md
  2. Trouble qflist toggle
  3. at the trouble window, press za, get the above error.

Expected Behavior

za, zo, zc should fold the items as expected

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/trouble.nvim",
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

require("trouble").setup()

vim.cmd.colorscheme("tokyonight")
-- add anything else here