1 /*
2     SPDX-License-Identifier: GPL-2.0-or-later
3     SPDX-FileCopyrightText: 2012 Martin Kuettler <martin.kuettler@gmail.com>
4 */
5 #include "sagekeywords.h"
6 
7 #include <repository.h>
8 #include <KF5/KSyntaxHighlighting/Definition>
9 
10 #include <QDebug>
11 
instance()12 SageKeywords* SageKeywords::instance()
13 {
14     static SageKeywords* inst=nullptr;
15     if(inst==nullptr)
16     {
17         inst = new SageKeywords();
18         inst->loadKeywords();
19     }
20 
21     return inst;
22 }
23 
loadKeywords()24 void SageKeywords::loadKeywords()
25 {
26     KSyntaxHighlighting::Repository m_repository;
27     KSyntaxHighlighting::Definition definition = m_repository.definitionForName(QLatin1String("Python"));
28 
29     m_keywords << definition.keywordList(QLatin1String("import"));
30     m_keywords << definition.keywordList(QLatin1String("defs"));
31     m_keywords << definition.keywordList(QLatin1String("operators"));
32     m_keywords << definition.keywordList(QLatin1String("flow"));
33 
34     m_functions << definition.keywordList(QLatin1String("builtinfuncs"));
35     m_functions << definition.keywordList(QLatin1String("overloaders"));
36 
37     m_variables << definition.keywordList(QLatin1String("specialvars"));
38 }
39 
keywords() const40 const QStringList& SageKeywords::keywords() const
41 {
42     return m_keywords;
43 }
44 
functions() const45 const QStringList& SageKeywords::functions() const
46 {
47     return m_functions;
48 }
49 
variables() const50 const QStringList& SageKeywords::variables() const
51 {
52     return m_variables;
53 }
54