mattboehm / vim-unstack

Vim plugin for parsing stack traces and opening the files
286 stars 15 forks source link

When parsing is done, also hydrate :cw (quick fix window) with parsed lines #10

Closed amirrajan closed 11 years ago

amirrajan commented 11 years ago

Having the quick fix buffer window has helped me digest larger stacktraces across many files. I can try to tackle this, just needs some guidance.

mattboehm commented 11 years ago

I have a feeling that populating the quickfix list will be pretty messy and unfriendly to viml newcomers.

In the meantime, consider highlighting a smaller portion of the stack trace or using my Accordion plugin. Let me know if that helps you for the time being.

If this is implemented, it should be controlled by a setting like g:unstack_populate_quickfix and disabled by default. It should also probably not trigger when the source is the quickfix list itself.

Alternatively, it could be a separate command that takes the highlighted text and populates the list instead of opening in a new tab. As unstack already supports opening from the quickfix list, this is a natural addition.

amirrajan commented 11 years ago

It doesn't have to be part of quickfix, I just need a way to traverse the stack trace line by line, I think the Ack plugin for vim simply opens a buffer that I can then navigate. Is that different the quickfix? Would that be easier?

mattboehm commented 11 years ago

Ack uses quickfix as well.

It turns out, it's actually really simple to add things via setqflist(). I should be able to implement this today or tomorrow, but I still think Accordion is a much more elegant way to navigate the stack as you could be viewing 2 or 3 levels at any given time instead of one.

image

jtratner commented 11 years ago

You could add an option to pop the quickfix. (and maybe you set it to default to 0). It's definitely useful to have it.

mattboehm commented 11 years ago

I've implemented this option, but one thing to note is that the new tab is still opened when this option is set. Perhaps there should be another option to disable the tab opening behavior?

Eventually I may want to refactor the code so that the tab opener and quickfix populater are both modular pieces that extend a common StackOpener interface so that users can provide their own as well, but I'll wait for a third example of a useful action before implementing this.

amirrajan commented 11 years ago

Worked like charm let g:unstack_populate_quickfix=1 was what I was missing