Sun, 20 Nov 2011 14:44:05 +0100
Fixed a few issues related to the configurable keywords support.
Preferences/ConfigurationPages/EditorKeywordsPage.py | file | annotate | diff | comparison | revisions | |
QScintilla/Lexers/LexerContainer.py | file | annotate | diff | comparison | revisions |
--- a/Preferences/ConfigurationPages/EditorKeywordsPage.py Sat Nov 19 18:07:25 2011 +0100 +++ b/Preferences/ConfigurationPages/EditorKeywordsPage.py Sun Nov 20 14:44:05 2011 +0100 @@ -13,6 +13,7 @@ from .Ui_EditorKeywordsPage import Ui_EditorKeywordsPage import QScintilla.Lexers +from QScintilla.Lexers.LexerContainer import LexerContainer import Preferences @@ -36,20 +37,20 @@ languages = sorted([''] + \ list(QScintilla.Lexers.getSupportedLanguages().keys())) for lang in languages: - if lang != "Guessed": - self.languageCombo.addItem(lang) - - for lang in languages[1:]: - keywords = Preferences.getEditorKeywords(lang)[:] - if not keywords: - keywords = [""] + if lang: lex = QScintilla.Lexers.getLexer(lang) - for kwSet in range(1, 10): - kw = lex.keywords(kwSet) - if kw is None: - kw = "" - keywords.append(kw) - self.__keywords[lang] = keywords + if isinstance(lex, LexerContainer): + continue + keywords = Preferences.getEditorKeywords(lang)[:] + if not keywords: + keywords = [""] + for kwSet in range(1, 10): + kw = lex.keywords(kwSet) + if kw is None: + kw = "" + keywords.append(kw) + self.__keywords[lang] = keywords + self.languageCombo.addItem(lang) self.currentLanguage = '' self.currentSet = 1
--- a/QScintilla/Lexers/LexerContainer.py Sat Nov 19 18:07:25 2011 +0100 +++ b/QScintilla/Lexers/LexerContainer.py Sun Nov 20 14:44:05 2011 +0100 @@ -75,3 +75,12 @@ """ self.editor.startStyling(start, 0x1f) self.editor.setStyling(end - start + 1, 0) + + def keywords(self, kwSet): + """ + Public method to get the keywords. + + @param kwSet number of the keyword set (integer) + @return string giving the keywords (string) or None + """ + return Lexer.keywords(self, kwSet)