What?
Ability to work with many quickfix lists. I can pull out a quickfixlist from a history of quickfix lists I had worked on. They can optionally be given a name, to ease the switching between them.
Why?
Many tools populate quickfix list and just destroys and forgets the previous listing. For example, vim.lsp.references() will list references of a method for me, then BLines (from fzf) I filter the points of interest in the file to refactor/wonder/whatever in. Now I have lost the previous list. Real world complaints are endless, this example I just made up for illustration.
Potential existing implementations:
None that I am aware of.
Potential pitfalls:
If it is asked, to preserve historic lists between nvim sessions, some thinking might be required - do we keep the list of lists in shada or in some cache file or in session file, are these lists grouped by project-root and only relevant lists are pre-loaded.
Plugins that allow to edit quickfix list like a buffer would pollute our list of lists (i.e. kevinhwang91/nvim-bqf)?
when this plugin is asked to pull out a list from its stack and "put-it-at-top", wouldn't that also invoke aucommand that self is listening to keep track? Either disabling and re-enabling aucommand or maybe better - keep some hashes of possible lists to compare (hashes approach would also enable this plugin not to pollute its list too much when for example vim.lsp.references() is used twice on the same method).
Other insights:
:cdo or :Cfilter etc would all still work as expected, because this "qf-list-list" plugin would just repopulate the list :h setqflist from a historic entry.
There are these QuickFixCmdPost and QuickFixCmdPost aucommands, that we could utilize to track the history of lists.
What? Ability to work with many quickfix lists. I can pull out a quickfixlist from a history of quickfix lists I had worked on. They can optionally be given a name, to ease the switching between them.
Why? Many tools populate quickfix list and just destroys and forgets the previous listing. For example,
vim.lsp.references()
will list references of a method for me, thenBLines (from fzf)
I filter the points of interest in the file to refactor/wonder/whatever in. Now I have lost the previous list. Real world complaints are endless, this example I just made up for illustration.Potential existing implementations: None that I am aware of.
Potential pitfalls:
kevinhwang91/nvim-bqf
)?vim.lsp.references()
is used twice on the same method).Other insights:
:cdo
or:Cfilter
etc would all still work as expected, because this "qf-list-list" plugin would just repopulate the list:h setqflist
from a historic entry.QuickFixCmdPost
andQuickFixCmdPost
aucommands, that we could utilize to track the history of lists.