#include "support/filetools.h"
#include "support/Package.h"
#include "support/FileName.h"
-#include "support/Path.h"
+#include "support/PathChanger.h"
#include <aspell.h>
struct AspellChecker::Private
{
- Private() {}
+ Private()
+ {}
~Private();
/// the location below system/user directory
/// there the rws files lookup will happen
- const string dictDirectory(void) { return "dicts"; }
+ const string dictDirectory(void)
+ {
+ return "dicts";
+ }
/// there the dat+cmap files lookup will happen
- const string dataDirectory(void) { return "data"; }
+ const string dataDirectory(void)
+ {
+ return "data";
+ }
/// os package directory constants
/// macports on Mac OS X or
/// aspell rpms on Linux
- const string osPackageBase(void) {
+ const string osPackageBase(void)
+ {
#ifdef USE_MACOSX_PACKAGING
return "/opt/local";
#else
return "/usr";
#endif
}
- const string osPackageDictDirectory(void) {
+ const string osPackageDictDirectory(void)
+ {
#ifdef USE_MACOSX_PACKAGING
return "/share/aspell";
#else
return "/lib/aspell-0.60";
#endif
}
- const string osPackageDataDirectory(void) { return "/lib/aspell-0.60"; }
+ const string osPackageDataDirectory(void)
+ {
+ return "/lib/aspell-0.60";
+ }
};
{
SpellChecker::Result result = WORD_OK;
docstring w1;
+ LYXERR(Debug::GUI, "spellCheck: \"" <<
+ word.word() << "\", lang = " << word.lang()->lang()) ;
docstring rest = split(word.word(), w1, '-');
for (; result == WORD_OK;) {
string const word_str = toAspellWord(w1);
int const word_ok = aspell_speller_check(m, word_str.c_str(), -1);
- LASSERT(word_ok != -1, /**/);
+ LASSERT(word_ok != -1, return UNKNOWN_WORD);
result = (word_ok) ? WORD_OK : UNKNOWN_WORD;
if (rest.empty())
break;
return result;
string const word_str = toAspellWord(word.word());
int const word_ok = aspell_speller_check(m, word_str.c_str(), -1);
- LASSERT(word_ok != -1, /**/);
+ LASSERT(word_ok != -1, return UNKNOWN_WORD);
return (word_ok) ? WORD_OK : UNKNOWN_WORD;
}
}
-AspellChecker::AspellChecker(): d(new Private)
-{
-}
+AspellChecker::AspellChecker()
+ : d(new Private)
+{}
AspellChecker::~AspellChecker()
string const word = d->toAspellWord(wl.word());
AspellWordList const * sugs =
aspell_speller_suggest(m, word.c_str(), -1);
- LASSERT(sugs != 0, /**/);
+ LASSERT(sugs != 0, return);
AspellStringEnumeration * els = aspell_word_list_elements(sugs);
if (!els || aspell_word_list_empty(sugs))
return;
delete_aspell_string_enumeration(els);
}
+
void AspellChecker::remove(WordLangTuple const & word)
{
d->remove(word);
advanceChangeNumber();
}
+
bool AspellChecker::hasDictionary(Language const * lang) const
{
bool have = false;