3 * Copyright 2001 the LyX Team
4 * Read the file COPYING
6 * \author Kevin Atkinson
7 * \author John Levon <levon@movementarian.org>
15 #include "SpellBase.h"
18 class AspellStringEnumeration;
19 class AspellCanHaveError;
25 class ASpell : public SpellBase {
28 * Initialise the spellchecker with the given buffer params and language.
30 ASpell(BufferParams const & params, string const & lang);
35 * return true if the spellchecker instance still exists
36 * Always true for aspell, since there is no separate process
38 virtual bool alive() { return true; }
40 /// check the given word and return the result
41 virtual enum Result check(WordLangTuple const &);
43 /// insert the given word into the personal dictionary
44 virtual void insert(WordLangTuple const &);
46 /// accept the given word temporarily
47 virtual void accept(WordLangTuple const &);
49 /// return the next near miss after a MISSED result
50 virtual string const nextMiss();
52 /// give an error message on messy exit
53 virtual string const error();
56 /// add a speller of the given language
57 void addSpeller(string const & lang);
60 AspellSpeller * speller;
61 AspellConfig * config;
64 typedef std::map<string, struct Speller> Spellers;
70 AspellStringEnumeration * els;
72 AspellCanHaveError * spell_error_object;