def __init__(self, ui): """ Constructor @param ui reference to the user interface object (UI.UserInterface) """ super(SyntaxCheckerPlugin, self).__init__(ui) self.__ui = ui self.__initialize() from Plugins.CheckerPlugins.SyntaxChecker.SyntaxCheckService import \ SyntaxCheckService self.syntaxCheckService = SyntaxCheckService() e5App().registerObject("SyntaxCheckService", self.syntaxCheckService) ericPath = getConfig('ericDir') path = os.path.join(ericPath, 'Plugins', 'CheckerPlugins', 'SyntaxChecker') self.syntaxCheckService.addLanguage( 'Python2', 'Python2', path, 'SyntaxCheck', self.__getPythonOptions, lambda: Preferences.getPython("PythonExtensions"), self.__translateSyntaxCheck, self.serviceErrorPy2) self.syntaxCheckService.addLanguage( 'Python3', 'Python3', path, 'SyntaxCheck', self.__getPythonOptions, lambda: Preferences.getPython("Python3Extensions"), self.__translateSyntaxCheck, self.serviceErrorPy3) # Jasy isn't yet compatible to Python2 self.syntaxCheckService.addLanguage( 'JavaScript', 'Python3', path, 'jsCheckSyntax', lambda: [], # No options lambda: ['.js'], lambda fn, problems: self.syntaxCheckService.syntaxChecked.emit(fn, problems), # __IGNORE_WARNING__ self.serviceErrorJavaScript)