How to use multiple errorformat matchers is not documented anywhere
Author: CombustibleCreated Dec 9, 2021Updated Nov 21, 2025
I have these two errorformat efm patterns I want to use:
%+C %.%#
%W[WARNING] %f:[%l,%c] %mThis works great in the error format playground to match multi-line warnings of the type:
[WARNING] /path/to/Nucleus.java:[213,6] [method.invocation] call to hide() not allowed on the given receiver.
found : @UnderInitialization(com.playmonumenta.plugins.depths.bosses.Nucleus.class) @NonNull Nucleus
required: @Initialized @NonNull NucleusHowever, it took me some trial and error to get reviewdog to actually accept these multiple arguments. This is the right approach, with two -efm arguments:
cat compile.log | reviewdog -efm="%+C %.%#" -efm="%W[WARNING] %f:[%l,%c] %m" -name="demo" -reporter=github-pr-checkSeparating with a comma (i.e. the way vi docs describe it) does NOT work:
cat compile.log | reviewdog -efm="%+C %.%#,%W[WARNING] %f:[%l,%c] %m" -name="demo" -reporter=github-pr-checkIdeally I'd like the documentation to be updated to explain this. If not though, feel free to close this issue - at least someone in the future who is looking for this will likely find this issue and discover the answer
Source: reviewdog/reviewdog