src/eric7/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py

branch
eric7
changeset 9925
a267ac36dd69
parent 9653
e67609152c5e
child 9926
6222ddc7e1bd
equal deleted inserted replaced
9924:b41c9a7bcbbb 9925:a267ac36dd69
118 for _env, _getArgs, getExt in self.__supportedLanguages.values(): 118 for _env, _getArgs, getExt in self.__supportedLanguages.values():
119 for ext in getExt(): 119 for ext in getExt():
120 extensions.add(ext) 120 extensions.add(ext)
121 return extensions 121 return extensions
122 122
123 def syntaxCheck(self, lang, filename, source): 123 def syntaxCheck(self, lang, filename, source, *args):
124 """ 124 """
125 Public method to prepare a syntax check of one source file. 125 Public method to prepare a syntax check of one source file.
126 126
127 @param lang language of the file or None to determine by internal 127 @param lang language of the file or None to determine by internal
128 algorithm (str or None) 128 algorithm
129 @param filename source filename (string) 129 @type str or None
130 @param source string containing the code to check (string) 130 @param filename source filename
131 @type str
132 @param source string containing the code to check
133 @type str
134 @param args tuple containing additional positional arguments
135 @type tuple
131 """ 136 """
132 if not lang: 137 if not lang:
133 lang = self.__determineLanguage(filename, source) 138 lang = self.__determineLanguage(filename, source)
134 if lang not in self.getLanguages(): 139 if lang not in self.getLanguages():
135 return 140 return
136 if lang == "MicroPython": 141 if lang == "MicroPython":
137 lang = "Python3" 142 lang = "Python3"
138 143
139 data = [source] 144 data = [source]
140 # Call the getArgs function to get the required arguments 145 # Call the getArgs function to get the required arguments
141 env, args, getExt = self.__supportedLanguages[lang] 146 env, getArgs, getExt = self.__supportedLanguages[lang]
142 data.extend(args()) 147 data.extend(getArgs())
148 data.extend(args)
143 self.backgroundService.enqueueRequest( 149 self.backgroundService.enqueueRequest(
144 "{0}Syntax".format(lang), env, filename, data 150 "{0}Syntax".format(lang), env, filename, data
145 ) 151 )
146 152
147 def syntaxBatchCheck(self, argumentsList): 153 def syntaxBatchCheck(self, argumentsList):
153 """ 159 """
154 data = {} 160 data = {}
155 for lang in self.getLanguages(): 161 for lang in self.getLanguages():
156 data[lang] = [] 162 data[lang] = []
157 163
158 for filename, source in argumentsList: 164 for arguments in argumentsList:
159 lang = self.__determineLanguage(filename, source) 165 # arguments[0]: file name
166 # arguments[1]: source
167 # arguments[2:]: additional arguments
168 lang = self.__determineLanguage(arguments[0], arguments[1])
160 if lang not in self.getLanguages(): 169 if lang not in self.getLanguages():
161 continue 170 continue
162 else: 171 else:
163 jobData = [source] 172 jobData = [arguments[1]]
164 # Call the getArgs function to get the required arguments 173 # Call the getArgs function to get the required arguments
165 args = self.__supportedLanguages[lang][1] 174 getArgs = self.__supportedLanguages[lang][1]
166 jobData.extend(args()) 175 jobData.extend(getArgs())
167 data[lang].append((filename, jobData)) 176 jobData.extend(arguments[2:])
177 data[lang].append((arguments[0], jobData))
168 178
169 self.queuedBatches = [] 179 self.queuedBatches = []
170 for lang in self.getLanguages(): 180 for lang in self.getLanguages():
171 if data[lang]: 181 if data[lang]:
172 self.queuedBatches.append(lang) 182 self.queuedBatches.append(lang)

eric ide

mercurial