mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
gh-132449: Improve the algorithm to detect typos in keywords (#132837)
This commit is contained in:
parent
85f89cb3e6
commit
32c4bbe834
2 changed files with 13 additions and 3 deletions
|
@ -1339,10 +1339,14 @@ class TracebackException:
|
|||
if tokens_left_to_process < 0:
|
||||
break
|
||||
# Limit the number of possible matches to try
|
||||
matches = difflib.get_close_matches(wrong_name, keyword.kwlist, n=3)
|
||||
if not matches and _suggestions is not None:
|
||||
max_matches = 3
|
||||
matches = []
|
||||
if _suggestions is not None:
|
||||
suggestion = _suggestions._generate_suggestions(keyword.kwlist, wrong_name)
|
||||
matches = [suggestion] if suggestion is not None else matches
|
||||
if suggestion:
|
||||
matches.append(suggestion)
|
||||
matches.extend(difflib.get_close_matches(wrong_name, keyword.kwlist, n=max_matches, cutoff=0.5))
|
||||
matches = matches[:max_matches]
|
||||
for suggestion in matches:
|
||||
if not suggestion or suggestion == wrong_name:
|
||||
continue
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue