def _validate(ls: LanguageServer, uri: str, script: Script = None): if script is None: script = get_script(ls, uri) # Jedi result = [ types.Diagnostic( range=types.Range(start=types.Position(line=x.line - 1, character=x.column), end=types.Position(line=x.until_line - 1, character=x.until_column)), message=x.get_message(), severity=types.DiagnosticSeverity.Error, source='jedi') for x in script.get_syntax_errors() ] if result: ls.publish_diagnostics(uri, result) return # pyflakes pyflakes_check(script._code, script.path, PyflakesReporter(result, script, config['pyflakes_errors'])) # pycodestyle codestyleopts = get_pycodestyle_options(ls, uri) CodestyleChecker(script.path, script._code.splitlines(True), codestyleopts, CodestyleReport(codestyleopts, result)).check_all() # mypy if config['mypy_enabled']: try: _mypy_check(ls, uri, script, result) except Exception as e: ls.show_message(f'mypy check error: {e}', types.MessageType.Warning) ls.publish_diagnostics(uri, result)