kevinhwang91 / nvim-bqf

Better quickfix window in Neovim, polish old quickfix window.
BSD 3-Clause "New" or "Revised" License
1.69k stars 30 forks source link

floatwin.lua:102: bad argument #1 to 'min' (number expected, got nil) #117

Closed ashfinal closed 1 year ago

ashfinal commented 1 year ago

Neovim version (nvim -v | head -n1)

NVIM v0.9.1

Operating system/version

Linux 6.4.6

How to reproduce the issue

  1. :vimgrep vim %
  2. :cw
  3. Ctrl-w L
  4. move cursor
Error detected while processing CursorMoved Autocommands for "<buffer=15>":
E5108: Error executing lua ...site/pack/deps/opt/nvim-bqf/lua/bqf/preview/floatwin.lua:102: bad argument #1 to 'min' (number expected, got nil)
stack traceback:
        [C]: in function 'min'
        ...site/pack/deps/opt/nvim-bqf/lua/bqf/preview/floatwin.lua:102: in function 'build'
        ...site/pack/deps/opt/nvim-bqf/lua/bqf/preview/floatwin.lua:203: in function 'display'
        .../site/pack/deps/opt/nvim-bqf/lua/bqf/preview/session.lua:175: in function 'display'
        .../site/pack/deps/opt/nvim-bqf/lua/bqf/preview/handler.lua:221: in function 'open'
        .../site/pack/deps/opt/nvim-bqf/lua/bqf/preview/handler.lua:344: in function 'moveCursor'
        [string ":lua"]:1: in main chunk

Expected behavior

Should preview or silent fail.

Actual behavior

Error detected while processing CursorMoved Autocommands for "<buffer=15>":
E5108: Error executing lua ...site/pack/deps/opt/nvim-bqf/lua/bqf/preview/floatwin.lua:102: bad argument #1 to 'min' (number expected, got nil)
stack traceback:
        [C]: in function 'min'
        ...site/pack/deps/opt/nvim-bqf/lua/bqf/preview/floatwin.lua:102: in function 'build'
        ...site/pack/deps/opt/nvim-bqf/lua/bqf/preview/floatwin.lua:203: in function 'display'
        .../site/pack/deps/opt/nvim-bqf/lua/bqf/preview/session.lua:175: in function 'display'
        .../site/pack/deps/opt/nvim-bqf/lua/bqf/preview/handler.lua:221: in function 'open'
        .../site/pack/deps/opt/nvim-bqf/lua/bqf/preview/handler.lua:344: in function 'moveCursor'
        [string ":lua"]:1: in main chunk

https://github.com/kevinhwang91/nvim-bqf/blob/3460a1ccf4dc92a52ed7fe2012f02a9194cd84d2/lua/bqf/preview/floatwin.lua#L95-L104

Changing line 102 to

height = math.min(vHeight or 0, qinfo.height - 2) 

kind of solves the problem, makes the error go away, though previewing wouldn't work. It looks screen estate calculation algorithm is not working properly.

ashfinal commented 1 year ago

Cool. 👍