4 * Copyright 2002 the LyX Team
5 * Read the file COPYING
13 #include "SpellBase.h"
15 #include <boost/scoped_ptr.hpp>
22 /// i/a spell process-based spellchecker
23 class ISpell : public SpellBase {
25 ISpell(BufferParams const & params, string const & lang);
29 /// return true if the spellchecker instance still exists
32 /// check the given word and return the result
33 virtual enum Result check(WordLangTuple const & word);
35 /// insert the given word into the personal dictionary
36 virtual void insert(WordLangTuple const & word);
38 /// accept the given word temporarily
39 virtual void accept(WordLangTuple const & word);
41 /// return the next near miss after a MISSED result
42 virtual string const nextMiss();
44 /// give an error message on messy exit
45 virtual string const error();
48 /// read some data. Returns true on an error. Sets err_read
49 /// to true if the data was from stderr.
50 bool select(bool & err_read);
52 /// instream to communicate with ispell
54 /// outstream to communicate with ispell
56 /// errstream for ispell
64 /// buffer for reading
70 boost::scoped_ptr<ForkedProcess> child_;
72 // vileness below ... please FIXME