codewars / runner

Issue tracker for Code Runner
32 stars 8 forks source link

PureScript reporter hides compilation errors in a collapsible section of a warning #282

Open hobovsky opened 6 months ago

hobovsky commented 6 months ago

See this kumite. Note how a compilation error gets merged with a compilation warning and placed in a collapsible section titled "Warning X of Y".

kazk commented 6 months ago

The warnings are collapsed by postprocessing stdout with:

stdout.replace(
  /^(Warning \d+ of \d+):\n\n/gm,
  "<LOG::$1>"
);

The error message is grouped inside the last warning because the line "Error found:" doesn't start a new group.

The error message looks like the following:

Error found:
in module ExampleSpec
at test/ExampleSpec.purs:17:34 - 17:35 (line 17, column 34 - line 17, column 35)

  Could not match type
...

If we can assume the error message comes last after all the warnings, we can keep the warnings as is and output everything starting from "Error found:" inside <ERROR::>.