--- a/eric6/UI/BrowserModel.py Mon Feb 01 10:38:43 2021 +0100 +++ b/eric6/UI/BrowserModel.py Tue Mar 02 17:12:08 2021 +0100 @@ -317,12 +317,7 @@ # just ignore the situation we don't have a reference to the item return - if Preferences.getUI("BrowsersListHiddenFiles"): - dirFilter = QDir.Filters( - QDir.AllEntries | QDir.Hidden | QDir.NoDotAndDotDot) - else: - dirFilter = QDir.Filters( - QDir.AllEntries | QDir.NoDot | QDir.NoDotDot) + dirFilter = QDir.Filters(QDir.AllEntries | QDir.NoDotAndDotDot) for itm in self.watchedItems[path]: oldCnt = itm.childCount() @@ -552,12 +547,7 @@ qdir = QDir(parentItem.dirName()) - if Preferences.getUI("BrowsersListHiddenFiles"): - dirFilter = QDir.Filters( - QDir.AllEntries | QDir.Hidden | QDir.NoDotAndDotDot) - else: - dirFilter = QDir.Filters( - QDir.AllEntries | QDir.NoDot | QDir.NoDotDot) + dirFilter = QDir.Filters(QDir.AllEntries | QDir.NoDotAndDotDot) entryInfoList = qdir.entryInfoList(dirFilter) if len(entryInfoList) > 0: if repopulate: @@ -631,7 +621,7 @@ try: dictionary = Utilities.ClassBrowsers.readmodule( moduleName, [parentItem.dirName()], - parentItem.isPython3File()) + parentItem.isPython3File() or parentItem.isCythonFile()) except ImportError: return @@ -1170,6 +1160,11 @@ self._populated = False self._lazyPopulation = True self._moduleName = os.path.basename(finfo) + elif self.isCythonFile(): + pixName = "lexerCython" + self._populated = False + self._lazyPopulation = True + self._moduleName = os.path.basename(finfo) elif self.isRubyFile(): pixName = "fileRuby" self._populated = False @@ -1280,13 +1275,26 @@ """ Public method to check, if this file is a Python3 script. - @return flag indicating a Python file (boolean) + @return flag indicating a Python3 file + @rtype bool """ return ( self.fileext in Preferences.getPython("Python3Extensions") or (self.fileext == "" and self.sourceLanguage == "Python3") ) + def isCythonFile(self): + """ + Public method to check, if this file is a Cython file. + + @return flag indicating a Cython file + @rtype bool + """ + return ( + self.fileext in (".pyx", ".pxd", ".pxi") or + (self.fileext == "" and self.sourceLanguage == "Cython") + ) + def isRubyFile(self): """ Public method to check, if this file is a Ruby script. @@ -1328,7 +1336,7 @@ @return flag indicating an eric project file (boolean) """ - return self.fileext in ['.e4p'] + return self.fileext in ('.epj', '.e4p') def isMultiProjectFile(self): """ @@ -1336,7 +1344,7 @@ @return flag indicating an eric project file (boolean) """ - return self.fileext in ['.e4m', '.e5m'] + return self.fileext in ('.emj', '.e4m', '.e5m') def isIdlFile(self): """