]> git.lyx.org Git - lyx.git/blobdiff - src/Thesaurus.h
Account for old versions of Pygments
[lyx.git] / src / Thesaurus.h
index c8a9afb521fd885ddcbf1a5aec7e2a33e1b504ac..52987cdd1377fdea6bcf41ad4701e927590e1b98 100644 (file)
@@ -5,6 +5,7 @@
  * Licence details can be found in the file COPYING.
  *
  * \author John Levon
+ * \author Jürgen Spitzmüller
  *
  * Full author contact details are available in file CREDITS.
  */
 #ifndef THESAURUS_H
 #define THESAURUS_H
 
-#include <vector>
+#include "support/docstring.h"
+#include "WordLangTuple.h"
+
 #include <map>
+#include <vector>
 
-#include "LString.h"
-#ifdef HAVE_LIBAIKSAURUS
-#include AIKSAURUS_H_LOCATION
-#endif
+namespace lyx {
 
 /**
  * This class provides an interface to whatever thesauri we might support.
  */
 
-class Thesaurus {
+class Thesaurus
+{
+       /// noncopyable
+       Thesaurus(Thesaurus const &);
+       void operator=(Thesaurus const &);
 public:
        ///
        Thesaurus();
        ///
        ~Thesaurus();
 
-       typedef std::map<string, std::vector<string> > Meanings;
+       typedef std::map<docstring, std::vector<docstring> > Meanings;
 
        /**
         * look up some text in the thesaurus
         */
-       Meanings lookup(string const & text);
+       Meanings lookup(WordLangTuple const & wl);
+       /** check if a thesaurus for a given language \p lang is available
+        *  (installed and loaded)
+        */
+       bool thesaurusAvailable(docstring const & lang) const;
+       /// check if a thesaurus for a given language \p lang is installed
+       bool thesaurusInstalled(docstring const & lang) const;
 
 private:
-#ifdef HAVE_LIBAIKSAURUS
-       Aiksaurus * aik_;
-#endif
+       struct Private;
+       Private * const d;
 };
 
 extern Thesaurus thesaurus;
 
+
+} // namespace lyx
+
 #endif