Flymake is a pretty good backend to report compiler errors to. Better than compilation-mode. This commit allows, if user calls flymake-mode, to automatically call a zig command. It is zig build test but can be zig ast-check or similar. The errors are automatically reported to the buffer. This works project-wide with correct locations.
However, a small limitation is, that only one process can be spawned. This is because otherwise there would be much more code to check in a alist. (key would be either (project-current) or if nil (current-buffer))
I don't think it is a huge limitation, as the commands runs project-wide and most people won't run more than one project check at a time.
In the reference implementation the command is ran per buffer, which this implementation does not support. And that is why the limitation is here compared to the flymake
manual (https://www.gnu.org/software/emacs/manual/html_node/flymake/An-annotated-example-backend.html).