Continued improving JavaScript support.

Fri, 28 Mar 2014 19:52:34 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 28 Mar 2014 19:52:34 +0100
changeset 3441
1b07f996e9ee
parent 3440
ddcce63ab5cc
child 3446
5a670e55adbb

Continued improving JavaScript support.

Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py file | annotate | diff | comparison | revisions
Project/ProjectSourcesBrowser.py file | annotate | diff | comparison | revisions
QScintilla/Editor.py file | annotate | diff | comparison | revisions
Utilities/ClassBrowsers/jsclbr.py file | annotate | diff | comparison | revisions
--- 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):
         """

eric ide

mercurial