4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
10 * Full author contact details are available in file CREDITS.
16 #include "SpellBase.h"
18 #include <boost/scoped_ptr.hpp>
29 /// i/a spell process-based spellchecker
30 class ISpell : public SpellBase {
32 ISpell(BufferParams const & params, std::string const & lang);
36 /// return true if the spellchecker instance still exists
39 /// check the given word and return the result
40 virtual enum Result check(WordLangTuple const & word);
42 /// insert the given word into the personal dictionary
43 virtual void insert(WordLangTuple const & word);
45 /// accept the given word temporarily
46 virtual void accept(WordLangTuple const & word);
48 /// return the next near miss after a SUGGESTED_WORDS result
49 virtual std::string const nextMiss();
51 /// give an error message on messy exit
52 virtual std::string const error();
55 /// read some data. Returns true on an error. Sets err_read
56 /// to true if the data was from stderr.
57 bool select(bool & err_read);
59 /// instream to communicate with ispell
61 /// outstream to communicate with ispell
63 /// errstream for ispell
71 /// buffer for reading
77 boost::scoped_ptr<lyx::support::ForkedProcess> child_;
79 // vileness below ... please FIXME