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()12SageKeywords* 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()24void 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() const40const QStringList& SageKeywords::keywords() const 41 { 42 return m_keywords; 43 } 44 functions() const45const QStringList& SageKeywords::functions() const 46 { 47 return m_functions; 48 } 49 variables() const50const QStringList& SageKeywords::variables() const 51 { 52 return m_variables; 53 } 54