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 }