unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Flyspell sans flyspell
@ 2018-06-15 15:13 João Távora
  2018-06-16  0:25 ` Stefan Monnier
  0 siblings, 1 reply; 3+ messages in thread
From: João Távora @ 2018-06-15 15:13 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1057 bytes --]

Hi,

Or rather, avec du Flymake.  I just pushed some updates that allow
Flymake and backends to exchange hints about the modified portions of
the buffer.

This in turn allowed me to build a very simple prototype
flyspell-flymake.el (attached after the sig) with backends that reuse
Flyspell's machinery and turn Flymake into a spell checker.

It is not really usable since it suffers a lot from Flyspell's quirks
like moving the point as it's checking words, a lot of chatter in the
echo area, and probably more that I haven't noticed.  This is mainly
because Flyspell doesn't provide any kind of API, and all I did was
override the overlay API around calls to `flyspell-region' using
`cl-letf.

Still, works better than I expected it to.  If you want to try it, build
a recent master, load the attached file, and eval one of the following

   (add-hook 'flymake-diagnostic-functions 'flyspell-prog-flymake) ; for programming
   (add-hook 'flymake-diagnostic-functions 'flyspell-flymake) ; for text

Then M-x flymake-mode

João


[-- Attachment #2: flyspell-flymake.el --]
[-- Type: application/emacs-lisp, Size: 4015 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Flyspell sans flyspell
  2018-06-15 15:13 Flyspell sans flyspell João Távora
@ 2018-06-16  0:25 ` Stefan Monnier
  2018-06-16 12:57   ` João Távora
  0 siblings, 1 reply; 3+ messages in thread
From: Stefan Monnier @ 2018-06-16  0:25 UTC (permalink / raw)
  To: emacs-devel

> Or rather, avec du Flymake.  I just pushed some updates that allow
> Flymake and backends to exchange hints about the modified portions of
> the buffer.

Thanks.

> This in turn allowed me to build a very simple prototype
> flyspell-flymake.el (attached after the sig) with backends that reuse
> Flyspell's machinery and turn Flymake into a spell checker.

Hmm... I would have expected that it's easier to link flymake to
ispell.el than to flyspell.el.  But, I admit to not having actually
looked at flyspell's code.


        Stefan




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Flyspell sans flyspell
  2018-06-16  0:25 ` Stefan Monnier
@ 2018-06-16 12:57   ` João Távora
  0 siblings, 0 replies; 3+ messages in thread
From: João Távora @ 2018-06-16 12:57 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1054 bytes --]

On Sat, Jun 16, 2018, 01:25 Stefan Monnier <monnier@iro.umontreal.ca> wrote:

> > Or rather, avec du Flymake.  I just pushed some updates that allow
> > Flymake and backends to exchange hints about the modified portions of
> > the buffer.
>
> Thanks.
>

Yeah, let's hope the API makes sense, I haven't tested with anything other
than flyspell, so I was hoping you could come up with interesting cases.


> > This in turn allowed me to build a very simple prototype
> > flyspell-flymake.el (attached after the sig) with backends that reuse
> > Flyspell's machinery and turn Flymake into a spell checker.
>
> Hmm... I would have expected that it's easier to link flymake to
> ispell.el than to flyspell.el.  But, I admit to not having actually
> looked at flyspell's code.
>

Likewise for ispell from my side.  How would you do it there?  In
particular, I'd like the flymake backend to issue a different diagnostic
type for misspellings that have affix rules (a lot of those in Portuguese).
Flyspell appears to not care.

João

[-- Attachment #2: Type: text/html, Size: 1862 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-06-16 12:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-15 15:13 Flyspell sans flyspell João Távora
2018-06-16  0:25 ` Stefan Monnier
2018-06-16 12:57   ` João Távora

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).