aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #2 from bjc/nextHEADmainBrian Cully2021-02-251-90/+128
|\ | | | | Next
| * A bunch of fixes.Brian Cully2021-02-251-54/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Get cargo checker working with non-main source files by making some assumptions about the crate path we’re given in cargo’s check output. * Attempt to fix TRAMP issues in Emacs 28.0.50. These may be due to bugs in TRAMP, in nativecomp, or maybe I just wrote some broken code that happens to work in 27.1. - Simplify output buffer names so they don’t ever have TRAMP paths * Use a generator for JSON parsing. This makes the code much easier to read, IMHO. * Skip past newlines when processing JSON. Now I no longer need to catch errors from the parser, since end-of-file shouldn’t be encountered anymore by the parser.
| * Allow the rustc checker to run between saves.Brian Cully2021-02-251-1/+4
| |
| * Minor code changesBrian Cully2021-02-251-50/+70
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * mapc -> dolist * cond -> pcase I find pcase to be easier to read when it can be used, which, in this case, is everywhere cond was being used. * use some thread-last. * Fix URL in comment header. * Add package version to defcustom strings. * Have rustc dump build results to /dev/null. * Fix URL in header comments. * Tell rustc to send output files to /dev/null * Add ‘tools’ keyword to package. * Add autoload for setup, use filename in comment header. * Get rid of single use macro. * Calculate flymake proc buffer names from source buffer name, not file. * Update comments.
* Merge pull request #1 from bjc/rustc-supportBrian Cully2021-02-221-77/+147
|\ | | | | Add support for checking with rustc.
| * Add support for checking with rustc.Brian Cully2021-02-221-77/+147
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fix off-by-one error for byte start/end.Brian Cully2021-02-211-2/+2
|
* Initial commit.Brian Cully2021-02-213-0/+888