File indexing completed on 2024-05-05 11:56:00

0001 /*
0002     SPDX-License-Identifier: GPL-2.0-or-later
0003     SPDX-FileCopyrightText: 2012 Martin Kuettler <martin.kuettler@gmail.com>
0004 */
0005 #include "sagekeywords.h"
0006 
0007 #include <KSyntaxHighlighting/Repository>
0008 #include <KSyntaxHighlighting/Definition>
0009 
0010 #include <QDebug>
0011 
0012 SageKeywords* SageKeywords::instance()
0013 {
0014     static SageKeywords* inst=nullptr;
0015     if(inst==nullptr)
0016     {
0017         inst = new SageKeywords();
0018         inst->loadKeywords();
0019     }
0020 
0021     return inst;
0022 }
0023 
0024 void SageKeywords::loadKeywords()
0025 {
0026     KSyntaxHighlighting::Repository m_repository;
0027     KSyntaxHighlighting::Definition definition = m_repository.definitionForName(QLatin1String("Python"));
0028 
0029     m_keywords << definition.keywordList(QLatin1String("import"));
0030     m_keywords << definition.keywordList(QLatin1String("defs"));
0031     m_keywords << definition.keywordList(QLatin1String("operators"));
0032     m_keywords << definition.keywordList(QLatin1String("flow"));
0033 
0034     m_functions << definition.keywordList(QLatin1String("builtinfuncs"));
0035     m_functions << definition.keywordList(QLatin1String("overloaders"));
0036 
0037     m_variables << definition.keywordList(QLatin1String("specialvars"));
0038 }
0039 
0040 const QStringList& SageKeywords::keywords() const
0041 {
0042     return m_keywords;
0043 }
0044 
0045 const QStringList& SageKeywords::functions() const
0046 {
0047     return m_functions;
0048 }
0049 
0050 const QStringList& SageKeywords::variables() const
0051 {
0052     return m_variables;
0053 }