File indexing completed on 2024-04-28 11:20:33

0001 /*
0002     SPDX-License-Identifier: GPL-2.0-or-later
0003     SPDX-FileCopyrightText: 2009 Alexander Rieder <alexanderrieder@gmail.com>
0004 */
0005 
0006 #ifndef _MAXIMAKEYWORDS_H
0007 #define _MAXIMAKEYWORDS_H
0008 
0009 #include <QStringList>
0010 
0011 /*
0012   Class storing a list of names, known to maxima
0013   used for syntax highlighting and tab completion
0014  */
0015 class MaximaKeywords
0016 {
0017   private:
0018     MaximaKeywords() = default;
0019     ~MaximaKeywords() = default;
0020   public:
0021     static MaximaKeywords* instance();
0022 
0023     const QStringList& functions() const;
0024     const QStringList& keywords() const;
0025     const QStringList& variables() const;
0026 
0027   private:
0028     void loadKeywords();
0029 
0030   private:
0031     QStringList m_functions;
0032     QStringList m_keywords;
0033     QStringList m_variables;
0034 };
0035 #endif /* _MAXIMAKEYWORDS_H */