diff options
author | ringabout <43030857+ringabout@users.noreply.github.com> | 2023-04-21 21:36:18 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-21 15:36:18 +0200 |
commit | b54b03d04fc19d18e079ee759730298e2ecd63fd (patch) | |
tree | f0d4507eae539611a425cfc3298f910b51e270bc | |
parent | 175a83c2de436b0e84f232fd44d264fb2c79fb14 (diff) | |
download | Nim-b54b03d04fc19d18e079ee759730298e2ecd63fd.tar.gz |
tweak spellsuggest; three counts for equal distances candidates by default (#21700)
* tweak spellsuggest; three counts for equal distances candidates * only suggest typos when length > 3
-rw-r--r-- | compiler/lookups.nim | 9 | ||||
-rw-r--r-- | tests/misc/tspellsuggest2.nim | 2 |
2 files changed, 4 insertions, 7 deletions
diff --git a/compiler/lookups.nim b/compiler/lookups.nim index fc84b9051..8b98ea3f1 100644 --- a/compiler/lookups.nim +++ b/compiler/lookups.nim @@ -490,12 +490,9 @@ proc fixSpelling(c: PContext, n: PNode, ident: PIdent, result: var string) = let e = list.pop() if c.config.spellSuggestMax == spellSuggestSecretSauce: const - smallThres = 2 - maxCountForSmall = 4 - # avoids ton of operator matches when mis-matching short symbols such as `i` - # other heuristics could be devised, such as only suggesting operators if `name0` - # is an operator (likewise with non-operators). - if e.dist > e0.dist or (name0.len <= smallThres and count >= maxCountForSmall): break + minLengthForSuggestion = 4 + maxCount = 3 # avoids ton of matches; three counts for equal distances + if e.dist > e0.dist or count >= maxCount or name0.len < minLengthForSuggestion: break elif count >= c.config.spellSuggestMax: break if count == 0: result.add "\ncandidates (edit distance, scope distance); see '--spellSuggest': " diff --git a/tests/misc/tspellsuggest2.nim b/tests/misc/tspellsuggest2.nim index bf76cc208..d20fb00dc 100644 --- a/tests/misc/tspellsuggest2.nim +++ b/tests/misc/tspellsuggest2.nim @@ -1,6 +1,6 @@ discard """ # pending bug #16521 (bug 12) use `matrix` - cmd: "nim c --spellsuggest --hints:off $file" + cmd: "nim c --spellsuggest:12 --hints:off $file" action: "reject" nimout: ''' tspellsuggest2.nim(45, 13) Error: undeclared identifier: 'fooBar' |