--- a/src/eric7/Preferences/ConfigurationPages/EditorKeywordsPage.py Tue Jul 25 13:14:27 2023 +0200 +++ b/src/eric7/Preferences/ConfigurationPages/EditorKeywordsPage.py Tue Jul 25 16:41:52 2023 +0200 @@ -43,6 +43,39 @@ } languages = sorted([""] + list(Lexers.getSupportedLanguages().keys())) + self.__populateLanguages(languages) + + def setMode(self, displayMode): + """ + Public method to perform mode dependent setups. + + @param displayMode mode of the configuration dialog + @type ConfigurationMode + """ + from ..ConfigurationDialog import ConfigurationMode + + if displayMode in (ConfigurationMode.SHELLMODE,): + self.__populateLanguages(["Python3"]) + + def save(self): + """ + Public slot to save the editor highlighter keywords configuration. + """ + lang = self.languageCombo.currentText() + kwSet = self.setSpinBox.value() + self.__keywords[lang]["Sets"][kwSet] = self.keywordsEdit.toPlainText() + + for lang, keywords in self.__keywords.items(): + Preferences.setEditorKeywords(lang, keywords["Sets"]) + + def __populateLanguages(self, languages): + """ + Private method to populate the language selection box. + + @param languages list of languages to include in the language selector + @type list of str + """ + self.languageCombo.clear() for lang in languages: if lang: lex = Lexers.getLexer(lang) @@ -87,17 +120,6 @@ self.currentSet = 1 self.on_languageCombo_activated(0) - def save(self): - """ - Public slot to save the editor highlighter keywords configuration. - """ - lang = self.languageCombo.currentText() - kwSet = self.setSpinBox.value() - self.__keywords[lang]["Sets"][kwSet] = self.keywordsEdit.toPlainText() - - for lang, keywords in self.__keywords.items(): - Preferences.setEditorKeywords(lang, keywords["Sets"]) - @pyqtSlot(int) def on_languageCombo_activated(self, index): """