mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-11 13:46:43 +00:00
21daab357b
There are two new rc preference: * spellchecker: can now be "aspell" or "hunspell", this is selectable in the SpellChecker preference dialog * hunspelldir_path: needed for hunspell dictionaries which are defined to be in a fixed location. This can be modified in the path preference dialog. The SpellChecker classes could be instanciated on the fly whenerver they are needed if we want that. Please test and help me finish this hunspell integration... git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30927 a592a061-630c-0410-9148-cb99ea01b6c8
74 lines
1.6 KiB
C++
74 lines
1.6 KiB
C++
// -*- C++ -*-
|
|
/**
|
|
* \file SpellChecker.h
|
|
* This file is part of LyX, the document processor.
|
|
* Licence details can be found in the file COPYING.
|
|
*
|
|
* \author unknown
|
|
* \author John Levon
|
|
*
|
|
* Full author contact details are available in file CREDITS.
|
|
*/
|
|
|
|
#ifndef SPELL_BASE_H
|
|
#define SPELL_BASE_H
|
|
|
|
#include "support/strfwd.h"
|
|
|
|
|
|
namespace lyx {
|
|
|
|
class BufferParams;
|
|
class WordLangTuple;
|
|
class docstring_list;
|
|
|
|
/**
|
|
* Pure virtual base class of all spellchecker implementations.
|
|
*/
|
|
class SpellChecker {
|
|
public:
|
|
|
|
/// the result from checking a single word
|
|
enum Result {
|
|
/// word is correct
|
|
OK = 1,
|
|
/// root of given word was found
|
|
ROOT,
|
|
/// word found through compound formation
|
|
COMPOUND_WORD,
|
|
/// word not found
|
|
UNKNOWN_WORD,
|
|
/// number of other ignored "word"
|
|
IGNORED_WORD
|
|
};
|
|
|
|
virtual ~SpellChecker() {}
|
|
|
|
/// check the given word of the given lang code and return the result
|
|
virtual enum Result check(WordLangTuple const &) = 0;
|
|
|
|
/// Gives suggestions.
|
|
virtual void suggest(WordLangTuple const &, docstring_list & suggestions) = 0;
|
|
|
|
/// insert the given word into the personal dictionary
|
|
virtual void insert(WordLangTuple const &) = 0;
|
|
|
|
/// accept the given word temporarily
|
|
virtual void accept(WordLangTuple const &) = 0;
|
|
|
|
/// give an error message on messy exit
|
|
virtual docstring const error() = 0;
|
|
};
|
|
|
|
/// Access to the singleton SpellChecker.
|
|
/// Implemented in LyX.cpp
|
|
SpellChecker * theSpellChecker();
|
|
|
|
/// Set the singleton SpellChecker engine.
|
|
/// Implemented in LyX.cpp
|
|
void setSpellChecker();
|
|
|
|
} // namespace lyx
|
|
|
|
#endif // SPELL_BASE_H
|