There are a few ways to get linting of prose (grammar and style, not just spellcheck) in Emacs. Unfortunately, there is no good language server implementation for the popular open-source command line tools. The best option right now is probably proselint
, but vale
gives better suggestions.
Library | Language server? | Emacs package | Notes |
---|---|---|---|
Vale | Kind of | flycheck-vale | Seems like a good alternative for Grammarly-like linting, emacs package is out-of-date |
Proselint | No | flymake-proselint | |
LanguageTool | Maybe later | flycheck-languagetool flymake-languagetool emacs-langtool | Requires java, poor performance when using cli |
write-good | No | None | |
Textlint | No | flycheck (built-in support) | |
Grammarly | Kind of | None | Grammarly API is going away in January 2024 |
See also:
Links to this note
-
Using Vale With Emacs for Prose Linting
After looking into linting prose in Emacs, I found a way to roll your own prose linter setup using vale (an extensible prose linter), efm-langserver (a generic language server), and eglot (a language server mode for Emacs).