​
Hey all,
[flymake-swi-prolog](https://git.sr.ht/~eshel/flymake-swi-prolog) is an Emacs package implementing a simple Flymake backend for SWI-Prolog, it provides diagnostics about Prolog source code in `prolog-mode` buffers.
Here's how it may look when you write some code that makes no sense:
[flymake-swi-prolog](https://preview.redd.it/1i26wiuvkrp81.png?width=834&format=png&auto=webp&s=ce7fa65cc9e9c1a9933af933717a3deae1486709)
This is the first Emacs package I've authored, I use Emacs a lot but I haven't written a lot of Elisp outside of my config file before, so the implementation is mostly based on the [example backend from the Flymake manual](https://www.gnu.org/software/emacs/manual/html_node/flymake/An-annotated-example-backend.html). Any comments or suggestions are welcome!
Under the hood, `flymake-swi-prolog` uses [diagnostics.pl](https://git.sr.ht/~eshel/diagnostics.pl), which is a tiny Prolog package I've written to expose the diagnosis performed by the SWI-Prolog built-in IDE in a way that is both human-readable and easy enough for me to consume from Elisp.