--- a/src/eric7/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py Mon Mar 20 10:43:29 2023 +0100 +++ b/src/eric7/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py Mon Mar 20 16:08:35 2023 +0100 @@ -120,14 +120,19 @@ extensions.add(ext) return extensions - def syntaxCheck(self, lang, filename, source): + def syntaxCheck(self, lang, filename, source, *args): """ Public method to prepare a syntax check of one source file. @param lang language of the file or None to determine by internal - algorithm (str or None) - @param filename source filename (string) - @param source string containing the code to check (string) + algorithm + @type str or None + @param filename source filename + @type str + @param source string containing the code to check + @type str + @param args tuple containing additional positional arguments + @type tuple """ if not lang: lang = self.__determineLanguage(filename, source) @@ -138,8 +143,9 @@ data = [source] # Call the getArgs function to get the required arguments - env, args, getExt = self.__supportedLanguages[lang] - data.extend(args()) + env, getArgs, getExt = self.__supportedLanguages[lang] + data.extend(getArgs()) + data.extend(args) self.backgroundService.enqueueRequest( "{0}Syntax".format(lang), env, filename, data ) @@ -155,16 +161,20 @@ for lang in self.getLanguages(): data[lang] = [] - for filename, source in argumentsList: - lang = self.__determineLanguage(filename, source) + for arguments in argumentsList: + # arguments[0]: file name + # arguments[1]: source + # arguments[2:]: additional arguments + lang = self.__determineLanguage(arguments[0], arguments[1]) if lang not in self.getLanguages(): continue else: - jobData = [source] + jobData = [arguments[1]] # Call the getArgs function to get the required arguments - args = self.__supportedLanguages[lang][1] - jobData.extend(args()) - data[lang].append((filename, jobData)) + getArgs = self.__supportedLanguages[lang][1] + jobData.extend(getArgs()) + jobData.extend(arguments[2:]) + data[lang].append((arguments[0], jobData)) self.queuedBatches = [] for lang in self.getLanguages():