|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using the rust compiler directly is, in general, weaker than using
cargo because it’s not workspace-aware, and thus can’t tell that the
missing ‘main’ function is actually in a different file somewhere
else.
However, rustc does allow me to pass rust code on standard input,
which means I can run checks between file saves, which is at least
somewhat useful.
Unfortunately, while both rustc and cargo can be told to use JSON, and
the objects roughly match, it has enough deviation to require slight
code rework all over the place, to the point that it honestly probably
would have been easier, and had less code duplication, to just use
regexp on the human readable stuff.
In addition to rustc, this patch also makes the following changes:
* Emacs 27 is required, because I’m using ‘executable-find’ with the
option second argument. This is needed so remote paths can be
found for the checkers if the file being checked is also remote.
* Removed the process filter. Now I’m only checking when everything
is done. This simplified the code quite a lot, and shouldn’t be
any slower.
* Checker output is now processed on the idle timer with a very
short delay. This retains something very close to previous speed
and should prevent issues where a bug in the processing causes
Emacs to appear to lock up.
|