Apropos ISPELL-a.

Martin Dalecki dalecki w cs.net.pl
Nie, 9 Sty 2000, 16:57:37 CET


wrobell wrote:
> 
> Przeniosłem się z tym na ispell w pld.org.pl.
> 
> On Sat, Jan 08, 2000 at 03:02:39PM +0100, Martin Dalecki wrote:
> > wrobell wrote:
> > >
> > > On Fri, Jan 07, 2000 at 07:59:35PM +0100, Martin Dalecki wrote:
> > > [...]
> > > > VIM-a z podkreślaniem błędów w bardzo krótkim czasie potem... ;-).
> > > No właśnie. Na
> > >         ftp://ftp.elka.pw.edu.pl/vim
> > > znajdują się patch-e zrobione przez Wlodzimierza Macewicza,
> > > które umożliwiają vim-owi podreślanie błędów. Autor vim-a
> > > nie zgodził się na ich umieszczenie w standardowej dystrybucji
> > > edytora. Nie jest mi wiadome dlaczego. Równolegle z tym listem
> > > wyślę zapytanie dlaczego tak się nie stało do w/w. Odpowiedź
> > > podeślę na listę.
> >
> > Apropos tego pracowania pod Win/DOS-em. Dlatego właśnie sugerowałem
> > aby zimplementować kommunikację ispell-a poprzez UDP, źe pod windowsem
> > brakuje pipeów z prawdziwego zdarzenia.
> [...]
> Ha! No to może pójść na całość i zrobić z ispell-a bibliotekę,
> a na deser byłby do tego korektor pisowni na konsolę. Ktoś pewnie
> by później zrobił korektor pod X-y, moduły do perl-a, python-a...

Ktoś by zrobił korektor pod X-y. K*rwa sam bym to natychmiast sklecił.
(aczkolwiek perl-a i pythona olewam.)

> programy z korektą pisowni.  Co za przyszłość. :)
> 
> Widziałbym mniej więcej takie funkcje (poniżej to nie specyfikacja!):

Nie musisz daleko patrzeć Wacław Macewicz tą robotę już właściwie
odwalił.
(I chwała bogu pod tym wzgledem nawet całkiem dobrze.)

Wystarcza zupełnie
ispell_change_dict(char *language) i
char *ispell_check(char *line);

ispell_change_dict(NULL) oznacza - zamknij się...

To wsjo.. kurde my nie jesteśmy NT-ekiem aby robić takie
"obszczjeje" API że głowa boli.

Poczekaj trochę to się odpowiedni interfejs pokaże w VIM-e, 
tylko, że będzie się on opierał na dup2 do oddzielnego procesu ispell-a.
(Wczoraj i dzisiaj z Bram-em właśnie przygotowywaliśmy 5.6,
który powinnien pokazać się oficjalnie za dokładnie tydzień.

Te też mogą być śmiało wjednym:
> ispell_init: zainicjuj słownik
> ispell_change_dict: zmień słownik


Nie powinno być różnicy pomiędzy tymi dwoma.

> ispell_check_word: sprawdź słowo; zwraca strukturę, która zawiera status
>         (poprawny, niepoprawny), proponowane zastępniki wraz z ich priorytetami
>         (było coś takiego w ispell-u, nie mam pod ręką co by sprawdzić)
> 
> ispell_check_text: sprawdza tekst; de facto sprawdza pierwsze słowo,
>         zwraca wskaźnik na tekst od następnego słowa oraz strukturę jak wyżej

> ispell_close: zamyka słownik, zwalnia wszystkie zajmowane zasoby przez
>         ispell-a

dict = NULL i basta.


Raczej lepiej raz na zawsze ustalić, że input do API to UTF-8 i kóńc.

> ispell_set_text_type: ustawia typ tekstu; z tego co pamiętam to ispell
>         miał możliwość rozpoznawania i pomijania komend TeX-a; można tą
>         funkcję rozszerzyć o pliki konfiguracyjne, które pozwolą na rozpoznawanie
>         komend w plikach SGML (także XML i HTML)
> 
> Jak już będą źródła, to o ile nikt się nie podejmie, to mogę opracować
> odpowiednią specyfikację w odpowiednim terminie, jeśli oczywiście ta
> propozycja przejdzie.

Ano właśnie jak już będą... tylko kiedy...


--
	Marcin Dalecki



Więcej informacji o liście dyskusyjnej pld-devel-pl