[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Grammar checking
From: |
Michael Eliachevitch |
Subject: |
Re: Grammar checking |
Date: |
Fri, 31 Mar 2023 08:45:56 +0000 |
I tried a couple of grammar checkers in Emacs, integrated via Flymake and Eglot.
The one that works best for me is this Grammarly language server [1].
Best in terms of diagnostics.
Some users may find it too intrusive, so it may be a personal preference thing.
However, it is not usable for larger buffers because it is too slow.
Maybe some narrowing functionality can help.
Also, there may be other implications regarding using Grammarly.
The LanguageTool language server is available as well, but It is not as
effective as Grammarly to catch mistakes and offer suggestions.
[0] https://github.com/emacs-languagetool/flymake-languagetool
[1] https://github.com/emacs-grammarly/eglot-grammarly
Most recently I also reverted to grammar checking via LSP servers with Eglot.
Grammarly is powerful an I like knowing that it's powered by Common Lisp, but
due to its proprietary nature it's not something that fits well with the
philosophy of Emacs and the FSF.
I'm checking a LaTeX-file, where I found the "ltex" [3] language server to be
useful [3]. It's basically a Languagetool language server, but aware of markdown and
LaTeX syntax. But in practice it doesn't seem to do anything much smarter than just
ignoring certain syntactic commands or macros. So plain Languagetool might be sufficient
if one could configure it with text-faces like in `flyspell-prog-mode' or faces to ignore.
One issue with Eglot is that afaik it currently only allows for one language
server to be active at a time, so if I want to check the grammar I need to
switch the active LSP server. I think it was mentioned as a possible feature in
the future to allow different simultaneous language servers for different LSP
capabilities, maybe one main one for completion and thinks like rename and two
LSP's for linting, for instance. I don't know how far that is, but I'm aware
that Eglot development is very active and there are many other issues.
Writing text is one of the core functionalities of an editor and therefore I
think that grammar checking could be integrated more tightly than just relying
on Eglot. And as I just discussed it's something that might used in parallel to
a language server. However, the strength of using LSP servers for linting is
that it's easy to change grammar checking LSP servers without _any_ additional
work required on Emacs side. So I'm not sure if coupling Emacs tightly to
Languagetool and not allowing for alternatives is the way to go.
[3]: https://valentjn.github.io/ltex. Actually there's even a special package
for that https://github.com/emacs-languagetool/eglot-ltex, but in my opinion
that's not really necessary, it just adds some custom eglot configuration.
signature.asc
Description: PGP signature
- Re: Grammar checking, (continued)
- Re: Grammar checking, Peter Oliver, 2023/03/31
- Re: Grammar checking, Gregory Heytings, 2023/03/31
- Re: Grammar checking, Eli Zaretskii, 2023/03/31
- Re: Grammar checking, Peter Oliver, 2023/03/31
- Re: Grammar checking, Philip Kaludercic, 2023/03/31
- Re: Grammar checking, Nasser Alkmim, 2023/03/31
- Re: Grammar checking, Gregory Heytings, 2023/03/31
- Re: Grammar checking,
Michael Eliachevitch <=
- Re: Grammar checking, Felician Nemeth, 2023/03/31
- Re: Grammar checking, Peter Oliver, 2023/03/31
- Re: Grammar checking, Eli Zaretskii, 2023/03/31
- Re: Grammar checking (was: jinx), João Távora, 2023/03/31
- Re: jinx, Arash Esbati, 2023/03/31
- Re: jinx, Eli Zaretskii, 2023/03/31
- Re: jinx, Richard Stallman, 2023/03/31
Re: Re: jinx, Pedro Andres Aranda Gutierrez, 2023/03/31