Fri, 28 Mar 2014 19:52:34 +0100
Continued improving JavaScript support.
--- a/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py Thu Mar 27 19:15:18 2014 +0100 +++ b/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py Fri Mar 28 19:52:34 2014 +0100 @@ -235,7 +235,7 @@ nok, fname, line, error = \ Utilities.jsCheckSyntax(file, source) index = 0 - code = source[line - 1] + code = source.splitlines()[int(line) - 1] if nok else "" else: isPy3 = True nok, fname, line, index, code, error = \
--- a/Project/ProjectSourcesBrowser.py Thu Mar 27 19:15:18 2014 +0100 +++ b/Project/ProjectSourcesBrowser.py Fri Mar 28 19:52:34 2014 +0100 @@ -115,6 +115,7 @@ """ Privat method to generate the popup menus for a Python project. """ + # TODO: add this to the multi files menu self.checksMenu = QMenu(self.tr('Check')) self.checksMenu.aboutToShow.connect(self.__showContextMenuCheck) @@ -439,36 +440,10 @@ """ Privat method to generate the popup menus for a Python project. """ + # TODO: add this to the multi files menu self.checksMenu = QMenu(self.tr('Check')) self.checksMenu.aboutToShow.connect(self.__showContextMenuCheck) -## self.menuShow = QMenu(self.tr('Show')) -## self.menuShow.addAction( -## self.tr('Code metrics...'), self.__showCodeMetrics) -## self.coverageMenuAction = self.menuShow.addAction( -## self.tr('Code coverage...'), self.__showCodeCoverage) -## self.profileMenuAction = self.menuShow.addAction( -## self.tr('Profile data...'), self.__showProfileData) -## self.menuShow.aboutToShow.connect(self.__showContextMenuShow) -## -## self.graphicsMenu = QMenu(self.tr('Diagrams')) -## self.classDiagramAction = self.graphicsMenu.addAction( -## self.tr("Class Diagram..."), self.__showClassDiagram) -## self.graphicsMenu.addAction( -## self.tr("Package Diagram..."), self.__showPackageDiagram) -## self.importsDiagramAction = self.graphicsMenu.addAction( -## self.tr("Imports Diagram..."), self.__showImportsDiagram) -## self.graphicsMenu.addAction( -## self.tr("Application Diagram..."), -## self.__showApplicationDiagram) -## self.graphicsMenu.addSeparator() -## self.graphicsMenu.addAction( -## UI.PixmapCache.getIcon("open.png"), -## self.tr("Load Diagram..."), self.__loadDiagram) -## self.graphicsMenu.aboutToShow.connect(self.__showContextMenuGraphics) -## -## self.unittestAction = self.sourceMenu.addAction( -## self.tr('Run unittest...'), self.handleUnittest) self.sourceMenu.addSeparator() act = self.sourceMenu.addAction( self.tr('Rename file'), self._renameFile) @@ -480,19 +455,13 @@ self.tr('Delete'), self.__deleteFile) self.menuActions.append(act) self.sourceMenu.addSeparator() -## self.sourceMenu.addAction( -## self.tr('New package...'), self.__addNewPackage) self.sourceMenu.addAction( self.tr('Add source files...'), self.__addSourceFiles) self.sourceMenu.addAction( self.tr('Add source directory...'), self.__addSourceDirectory) self.sourceMenu.addSeparator() -## act = self.sourceMenu.addMenu(self.graphicsMenu) -## self.sourceMenu.addSeparator() self.sourceMenu.addMenu(self.checksMenu) self.sourceMenu.addSeparator() -## self.sourceMenuActions["Show"] = self.sourceMenu.addMenu(self.menuShow) -## self.sourceMenu.addSeparator() self.sourceMenu.addAction( self.tr('Copy Path to Clipboard'), self._copyToClipboard) self.sourceMenu.addSeparator() @@ -504,8 +473,6 @@ self.sourceMenu.addAction(self.tr('Configure...'), self._configure) self.menu.addSeparator() -## self.menu.addAction( -## self.tr('New package...'), self.__addNewPackage) self.menu.addAction( self.tr('Add source files...'), self.__addSourceFiles) self.menu.addAction( @@ -526,8 +493,6 @@ self.attributeMenu = QMenu(self) self.attributeMenu.addMenu(self.gotoMenu) self.attributeMenu.addSeparator() -## self.attributeMenu.addAction( -## self.tr('New package...'), self.__addNewPackage) self.attributeMenu.addAction( self.tr('Add source files...'), self.project.addSourceFiles) self.attributeMenu.addAction( @@ -542,8 +507,6 @@ self.tr('Configure...'), self._configure) self.backMenu = QMenu(self) -## self.backMenu.addAction( -## self.tr('New package...'), self.__addNewPackage) self.backMenu.addAction( self.tr('Add source files...'), self.project.addSourceFiles) self.backMenu.addAction( @@ -580,15 +543,11 @@ self.tr('Delete'), self._deleteDirectory) self.dirMenuActions.append(act) self.dirMenu.addSeparator() -## self.dirMenu.addAction( -## self.tr('New package...'), self.__addNewPackage) self.dirMenu.addAction( self.tr('Add source files...'), self.__addSourceFiles) self.dirMenu.addAction( self.tr('Add source directory...'), self.__addSourceDirectory) self.dirMenu.addSeparator() -## act = self.dirMenu.addMenu(self.graphicsMenu) -## self.dirMenu.addSeparator() self.dirMenu.addMenu(self.checksMenu) self.dirMenu.addSeparator() self.dirMenu.addAction(
--- a/QScintilla/Editor.py Thu Mar 27 19:15:18 2014 +0100 +++ b/QScintilla/Editor.py Fri Mar 28 19:52:34 2014 +0100 @@ -5511,9 +5511,9 @@ if error: # set a new syntax error marker markers = self.markersAtLine(line - 1) + index += self.indentation(line - 1) if not (markers & (1 << self.syntaxerror)): handle = self.markerAdd(line - 1, self.syntaxerror) - index += self.indentation(line - 1) self.syntaxerrors[handle] = [(msg, index)] self.syntaxerrorToggled.emit(self) else:
--- a/Utilities/ClassBrowsers/jsclbr.py Thu Mar 27 19:15:18 2014 +0100 +++ b/Utilities/ClassBrowsers/jsclbr.py Fri Mar 28 19:52:34 2014 +0100 @@ -92,9 +92,16 @@ self.__root = None self.__stack = [] - self.__source = src self.__module = module self.__file = filename + self.__source = src + + # normalize line endings + self.__source = self.__source.replace("\r\n", "\n").replace("\r", "\n") + + # ensure source ends with an eol + if self.__source[-1] != '\n': + self.__source = self.__source + '\n' def parse(self): """