--- a/QScintilla/Lexers/Lexer.py Sun Mar 17 14:12:00 2019 +0100 +++ b/QScintilla/Lexers/Lexer.py Sun Mar 17 18:43:46 2019 +0100 @@ -37,6 +37,9 @@ # always keep tabs (for languages where tabs are esential self._alwaysKeepTabs = False + + # descriptions for keyword sets + self.keywordSetDescriptions = [] def initProperties(self): """ @@ -213,8 +216,10 @@ """ Public method to get the keywords. - @param kwSet number of the keyword set (integer) - @return string giving the keywords (string) or None + @param kwSet number of the keyword set + @type int + @return space separated list of keywords + @rtype str or None """ keywords_ = Preferences.getEditorKeywords(self.language()) if keywords_ and len(keywords_) > kwSet: @@ -226,15 +231,41 @@ else: return self.defaultKeywords(kwSet) + def keywordsDescription(self, kwSet): + """ + Public method to get the description for a keywords set. + + @param kwSet number of the keyword set + @type int + @return description of the keyword set + @rtype str + """ + if kwSet > len(self.keywordSetDescriptions): + return "" + else: + return self.keywordSetDescriptions[kwSet - 1] + + def defaultKeywords(self, kwSet): + """ + Public method to get the default keywords. + + @param kwSet number of the keyword set + @type int + @return space separated list of keywords + @rtype str or None + """ + return None + def maximumKeywordSet(self): """ Public method to get the maximum keyword set. Note: A return value of 0 indicates to determine this dynamically. - @return maximum keyword set (integer) + @return maximum keyword set + @rtype int """ - return 0 + return len(self.keywordSetDescriptions) def lexerName(self): """