stefandtw/quickfix-reflector.vim

Sometimes when I insert things in the quickfix window, vim gives this error and quickfix-reflector won't work

Opened this issue ยท 10 comments

I can't tell much from the error. Does :messages show more? If you could provide a step-by-step way to reproduce the problem, that might be helpful.

Unfortunately (or fortunately ๐Ÿ˜…), I don't always get this error, and I'm not sure how to reproduce it, but the next time I get it I will check the messages and send here. Is there any other information I can get when this happens? ๐Ÿค”

(btw, great extension, I love using it when I don't give this error ๐Ÿ˜…, thanks)

The command that produced the quickfix list might be interesting, and maybe the output of :echo getqflist().

In general, most problems come from other plug-ins. So another way to track down the cause would be to deactivate some (or all) other plug-ins and check whether the issue persists.

:messages don't show anything more :/

output from :echo getqflistt()

[{'lnum': 6, 'bufnr': 50, 'col': 1, 'pattern': '', 'valid': 1, 'vcol': 0, 'nr': 0, 'type': '', 'module': '', 'text': 'Vue.component(''card'', Card);'}, {'lnum': 7, 'bufnr': 50, 'col': 1, 'pattern': '', 'valid': 1, 'vcol': 0, 'nr': 0, 'type': '', 'module': '', 'text': 'Vue.component(''my-footer'', MyFooter);'}
, {'lnum': 8, 'bufnr': 50, 'col': 1, 'pattern': '', 'valid': 1, 'vcol': 0, 'nr': 0, 'type': '', 'module': '', 'text': 'Vue.component(''context-menu'', ContextMenu);'}, {'lnum': 7, 'bufnr': 3, 'col': 1, 'pattern': '', 'valid': 1, 'vcol': 0, 'nr': 0, 'type': '', 'module': '', 'text': 'new Vue({'}, {'lnum': 14,
'bufnr': 36, 'col': 1, 'pattern': '', 'valid': 1, 'vcol': 0, 'nr': 0, 'type': '', 'module': '', 'text': '    Vue: ''readonly'','}, {'lnum': 335, 'bufnr': 40, 'col': 1, 'pattern': '', 'valid': 1, 'vcol': 0, 'nr': 0, 'type': '', 'module': '', 'text': '    Vue.nextTick(() => {'}, {'lnum': 3, 'bufnr': 3, 'col': 1
, 'pattern': '', 'valid': 1, 'vcol': 0, 'nr': 0, 'type': '', 'module': '', 'text': 'import Vue from ''vue'';'}, {'lnum': 1, 'bufnr': 50, 'col': 1, 'pattern': '', 'valid': 1, 'vcol': 0, 'nr': 0, 'type': '', 'module': '', 'text': 'import Vue from ''vue'';'}]

and I'm opening the quickfix windon through fzf, this are my (relevant) configurations for fzf:

"...
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'junegunn/fzf.vim'
"...

" make :Rg<cr> see hidden files, cuz duh, why this is not default?
command! -bang -nargs=* Rg call fzf#vim#grep("rg --column --line-number --hidden --no-heading -g '!.git/*' --color=always --smart-case ".shellescape(<q-args>), 1, <bang>0)

Do you think this issue is on fzf? The FZF command I use is the :Rg

I loaded your example using call setqflist() and was unable to find any issue.

I searched for the code in the screenshot and found this file:

https://github.com/neovim/neovim/blob/master/runtime/ftplugin/qf.vim

So it could have something to do with filetype plugins or syntax highlighting.

When it happens again, check if the output of :echo &ft and :echo &syntax are both qf. If they are not, that could be a clue. Make sure you are inside the quickfix window before you enter the commands.

Other than that, the only thing to do is to try and notice any pattern to the circumstances when the error occurs.

Leaving this open for now, in case more information comes up.

yeah, when, this error happens, the syntax is "invalid" all the buffer is in plain text. But I haven't explicitly checked the &syntax or &ft

Happened again:

:echo &ft
qf
:echo &syntax

the &syntax returns nothing, also we have no colors:
image

Also, if this error happens, I have to close and re-open nvim for the qf-reflector window to work again. Cuz whenever I open it again, the same error comes out

What happens if you :set syntax=qf after the error happens? Also :set syntax=.

When exactly does the error happen? When you enter insert mode, when you leave it, or on another trigger?

To get further here without being able to reproduce the problem is difficult. We could use something like a stack trace. There is a verbose setting. Maybe that could help. (https://stackoverflow.com/questions/9656429/debugging-vim-plugins-with-call-traces)

What happens if you :set syntax=qf after the error happens?

The quickfixwindow gets the syntax hightligh

Also :set syntax=.

It gets all white plain text again.

When exactly does the error happen? When you enter insert mode, when you leave it, or on another trigger?

Another trigger, when the Quickfix window opens, after that error occurs and the quickfix is opened when I try editing I can't:
image

To get further here without being able to reproduce the problem is difficult.

I know it's difficult, sorry for the trouble and thanks a lot for the attention.

We could use something like a stack trace. There is a verbose setting. Maybe that could help. (https://stackoverflow.com/questions/9656429/debugging-vim-plugins-with-call-traces)

I will try record the stack traces next time