kevinhwang91 / nvim-ufo

Not UFO in the sky, but an ultra fold in Neovim.
BSD 3-Clause "New" or "Revised" License
2.23k stars 44 forks source link

E5108: zM don't work after UfoDetach #75

Closed skt041959 closed 1 year ago

skt041959 commented 1 year ago

Neovim version (nvim -v | head -n1)

NVIM 0.7.2

Operating system/version

Linux

How to reproduce the issue

cat mini.lua

-- Use Vim packages install the plugin, also work with some plugins manager such as packer.nvim
vim.o.packpath = '~/.local/share/nvim/site'
vim.cmd('packadd promise-async')
vim.cmd('packadd nvim-ufo')

-- Setting
vim.o.foldcolumn = '1'
vim.o.foldlevel = 99
vim.o.foldlevelstart = -1
vim.o.foldenable = true

local ufo = require('ufo')
ufo.setup({
    provider_selector = function(bufnr, filetype, buftype)
        return ''
    end
})
vim.keymap.set('n', 'zR', ufo.openAllFolds)
vim.keymap.set('n', 'zM', ufo.closeAllFolds)

nvim --clean +'so mini.lua'

  1. UfoDetach
  2. set fdm=manual
  3. create fold with zf
  4. type zM
  5. check error

Expected behavior

the mapped zM should work as built-in when Ufo detached.

Actual behavior

It reports error like

E5108: Error executing lua: ...uration/.config/nvim/plugged/nvim-ufo/lua/ufo/action.lua:110: attempt to index local 'fb' (a nil value)
stack traceback:
        ...uration/.config/nvim/plugged/nvim-ufo/lua/ufo/action.lua:110: in function <...uration/.config/nvim/plugged/nvim-ufo/lua/ufo/action.lua:106>