--- a/src/eric7/Preferences/ConfigurationPages/EditorHighlightersPage.py Wed Jul 13 11:16:20 2022 +0200 +++ b/src/eric7/Preferences/ConfigurationPages/EditorHighlightersPage.py Wed Jul 13 14:55:47 2022 +0200 @@ -25,61 +25,59 @@ """ Class implementing the Editor Highlighter Associations configuration page. """ + def __init__(self, lexers): """ Constructor - + @param lexers reference to the lexers dictionary """ super().__init__() self.setupUi(self) self.setObjectName("EditorHighlightersPage") - + self.editorLexerList.headerItem().setText( - self.editorLexerList.columnCount(), "") + self.editorLexerList.columnCount(), "" + ) header = self.editorLexerList.header() header.setSectionResizeMode(QHeaderView.ResizeMode.ResizeToContents) header.setSortIndicator(0, Qt.SortOrder.AscendingOrder) - + try: self.extsep = os.extsep except AttributeError: self.extsep = "." - + import QScintilla.Lexers + self.extras = ["-----------", self.tr("Alternative")] self.editorLexerCombo.addItem("") - self.editorLexerCombo.addItem( - UI.PixmapCache.getIcon("fileText"), - "Text" - ) + self.editorLexerCombo.addItem(UI.PixmapCache.getIcon("fileText"), "Text") for lang in sorted(lexers.keys()): self.editorLexerCombo.addItem( - QScintilla.Lexers.getLanguageIcon(lang, False), - lang + QScintilla.Lexers.getLanguageIcon(lang, False), lang ) self.editorLexerCombo.addItems(self.extras) - - pygmentsLexers = [''] + sorted(lex[0] for lex in get_all_lexers()) + + pygmentsLexers = [""] + sorted(lex[0] for lex in get_all_lexers()) self.pygmentsLexerCombo.addItems(pygmentsLexers) - + # set initial values lexerAssocs = Preferences.getEditorLexerAssocs() for ext in lexerAssocs: QTreeWidgetItem(self.editorLexerList, [ext, lexerAssocs[ext]]) self.editorLexerList.sortByColumn(0, Qt.SortOrder.AscendingOrder) - + def save(self): """ Public slot to save the Editor Highlighter Associations configuration. """ lexerAssocs = {} - for index in range( - self.editorLexerList.topLevelItemCount()): + for index in range(self.editorLexerList.topLevelItemCount()): itm = self.editorLexerList.topLevelItem(index) lexerAssocs[itm.text(0)] = itm.text(1) Preferences.setEditorLexerAssocs(lexerAssocs) - + @pyqtSlot() def on_addLexerButton_clicked(self): """ @@ -96,8 +94,7 @@ else: lexer = "Pygments|{0}".format(pygmentsLexer) if ext and lexer: - itmList = self.editorLexerList.findItems( - ext, Qt.MatchFlag.MatchExactly, 0) + itmList = self.editorLexerList.findItems(ext, Qt.MatchFlag.MatchExactly, 0) if itmList: index = self.editorLexerList.indexOfTopLevelItem(itmList[0]) itm = self.editorLexerList.takeTopLevelItem(index) @@ -109,8 +106,9 @@ self.pygmentsLexerCombo.setCurrentIndex(0) self.editorLexerList.sortItems( self.editorLexerList.sortColumn(), - self.editorLexerList.header().sortIndicatorOrder()) - + self.editorLexerList.header().sortIndicatorOrder(), + ) + @pyqtSlot() def on_deleteLexerButton_clicked(self): """ @@ -123,16 +121,16 @@ itm = self.editorLexerList.takeTopLevelItem(index) # __IGNORE_WARNING__ del itm - + self.editorLexerList.clearSelection() self.editorFileExtEdit.clear() self.editorLexerCombo.setCurrentIndex(0) - + def on_editorLexerList_itemClicked(self, itm, column): """ Private slot to handle the clicked signal of the lexer association list. - + @param itm reference to the selecte item (QTreeWidgetItem) @param column column the item was clicked or activated (integer) (ignored) @@ -153,23 +151,23 @@ index = self.editorLexerCombo.findText(lexer) self.editorLexerCombo.setCurrentIndex(index) self.pygmentsLexerCombo.setCurrentIndex(pygmentsIndex) - + def on_editorLexerList_itemActivated(self, itm, column): """ Private slot to handle the activated signal of the lexer association list. - + @param itm reference to the selecte item (QTreeWidgetItem) @param column column the item was clicked or activated (integer) (ignored) """ self.on_editorLexerList_itemClicked(itm, column) - + @pyqtSlot(int) def on_editorLexerCombo_currentIndexChanged(self, index): """ Private slot to handle the selection of a lexer. - + @param index index of the current item @type int """ @@ -185,7 +183,7 @@ def create(dlg): """ Module function to create the configuration page. - + @param dlg reference to the configuration dialog @return reference to the instantiated page (ConfigurationPageBase) """