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