There was a time when I just didn’t trust Emacs. This lack of confidence was the
result of mixing good and evil: listening to other reliable Emacsers’ opinions
while being too lazy to see for myself what Emacs could do. The outcome of this
endeavour was a frenetic copying-and-pasting of code snippets in my
blindly dragging in more and more external packages.
Don’t get me wrong, external packages made Emacs what it is today for me. I can’t even imagine using it without the likes of Magit or CIDER. However, ignoring what is already there and reaching for MELPA every time I have an itch to scratch has made me overlook built-in niceties like project.el.
Flymake did fell prey of this line of reasoning. Flycheck has always seemed like
the way go, so much so that I have barely registered João Távora’s and other
Emacs developers’ efforts to improve Flymake. Since my recent experiments with
project.el have turned my eyes inwards again, I wanted to see if I can live
There are three places where I need on-the-fly syntax checking:
- Emacs Lisp package files with package-lint
- Clojure files with clj-kondo
- Markdown files with proselint
Kind people took care of Emacs Lisp and Clojure for me:
package-lint and flymake-kondor is a valid alternative to
flycheck-clj-kondo. But I wasn’t able to find an existing integration with
proselint, so I decided to provide one.
My first tries with flymake-easy didn’t go very well. I asked for help on Emacs
StackExchange, before realizing I could use flymake-quickdef like
does and answer to myself. The next step was making the solution available to
everyone in the form of a package, and so I published the little
Flymake may not have the extensive support for checkers that its bigger brother
has, and it doesn’t seem to have the same huge community behind, but it’s still
a great library to play with. There is a comparison between the two projects on
the Flycheck website, so have a look there before making your choice. Note that
the comparison doesn’t mention
flymake-quickdef, which I find easier to use for
As for me, my requirements for on-the-fly syntax checking are met by Flymake. At the end of the day it’s good to know that after all these years together Emacs can still surprise me.