def maybe_suggest(self, step: int, server: Server, src: str, tmp_dir: str) -> List[str]: output: List[str] = [] targets = self.get_suggest(src, step) for flags, target in targets: json = '--json' in flags callsites = '--callsites' in flags no_any = '--no-any' in flags no_errors = '--no-errors' in flags try_text = '--try-text' in flags m = re.match('--flex-any=([0-9.]+)', flags) flex_any = float(m.group(1)) if m else None m = re.match(r'--use-fixme=(\w+)', flags) use_fixme = m.group(1) if m else None m = re.match('--max-guesses=([0-9]+)', flags) max_guesses = int(m.group(1)) if m else None res = cast( Dict[str, Any], server.cmd_suggest(target.strip(), json=json, no_any=no_any, no_errors=no_errors, try_text=try_text, flex_any=flex_any, use_fixme=use_fixme, callsites=callsites, max_guesses=max_guesses)) val = res['error'] if 'error' in res else res['out'] + res['err'] if json: # JSON contains already escaped \ on Windows, so requires a bit of care. val = val.replace('\\\\', '\\') val = val.replace(os.path.realpath(tmp_dir) + os.path.sep, '') output.extend(val.strip().split('\n')) return normalize_messages(output)
def maybe_suggest(self, step: int, server: Server, src: str) -> List[str]: output = [] # type: List[str] targets = self.get_suggest(src, step) for flag, target in targets: json = flag.strip() == '--json' callsites = flag.strip() == '--callsites' res = cast(Dict[str, Any], server.cmd_suggest(target.strip(), json, callsites)) val = res['error'] if 'error' in res else res['out'] + res['err'] output.extend(val.strip().split('\n')) return normalize_messages(output)
def maybe_suggest(self, step: int, server: Server, src: str) -> List[str]: output = [] # type: List[str] targets = self.get_suggest(src, step) for flags, target in targets: json = '--json' in flags callsites = '--callsites' in flags no_any = '--no-any' in flags no_errors = '--no-errors' in flags try_text = '--try-text' in flags m = re.match('--flex-any=([0-9.]+)', flags) flex_any = float(m.group(1)) if m else None res = cast(Dict[str, Any], server.cmd_suggest( target.strip(), json=json, no_any=no_any, no_errors=no_errors, try_text=try_text, flex_any=flex_any, callsites=callsites)) val = res['error'] if 'error' in res else res['out'] + res['err'] output.extend(val.strip().split('\n')) return normalize_messages(output)