예제 #1
0
 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)
예제 #2
0
 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)
예제 #3
0
 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)