skywind3000/asyncrun.vim

output missing in quickfix error message

Closed this issue · 7 comments

When running langtool with

command! -bang -nargs=* Make AsyncRun<bang> -auto=make -program=make <args>

output is missing in the error message:
The quickfix list opens and shows

/home/konfekt/test.txt|8 col 8 info| PASSIV_SAETZE[1]

instead of

/home/konfekt/test.txt|8 col 8 info| PASSIV_SAETZE[1] : Passivsatz: Aktiv formulierte Sätze sprechen im Regelfall den Leser stärker an.

The whole error message is only shown after closing and reopening the quickfix list window.

check your errorformat

The whole error message is only shown after closing and reopening the quickfix list window.

How could this be related to the error format? Without asyncrun the error messages show up fine.

I suspect the issue rather with asyncrun erroneously interpreting the colon : in the error message to filter out what follows it.

The whole error message is only shown after closing and reopening the quickfix list window.

I'm experiencing a similar issue (with cargo). Have you found a solution?

BTW :cnewer works, too. So I'm adding -post=silent!\ cnewer argument

So I'm adding -post=silent!\ cnewer argument

This is a good workaround of the issue at hand; I circumvented it using https://github.com/mg979/tasks.vim

This seems to be caused by multi-line errors incrementally adding into quickfix,

try: adding a -once argument, it will ensure all output will be added to quickfix and matched at once:

command! -bang -nargs=* Make AsyncRun<bang> -once -auto=make -program=make <args>

for more information, visit here

Thanks, that worked too. So the issue was that multi-line output can't be properly recognized on-the-fly.

Here's an idea: while running, act like -raw so that the user can see the intact output, and at the end, apply efm. Is this possible already or implementable?