From 0efbd5847ca433799c81b8cc4a227da4925d4dbf Mon Sep 17 00:00:00 2001 From: Jason Dent Date: Sat, 11 Sep 2021 18:08:09 +0200 Subject: [PATCH] fix: Change the suggestions to not include ties by default. (#1678) --- .../SpellingDictionary/SpellingDictionary.ts | 1 + .../src/__snapshots__/validator.test.ts.snap | 23 ------------------- packages/cspell-lib/src/validator.ts | 2 +- .../src/lib/genSuggestionsOptions.ts | 6 ++--- packages/cspell-trie-lib/src/lib/suggest.ts | 2 +- .../cspell-trie-lib/src/lib/suggestAStar.ts | 2 +- .../src/lib/suggestCollector.ts | 2 +- 7 files changed, 8 insertions(+), 30 deletions(-) diff --git a/packages/cspell-lib/src/SpellingDictionary/SpellingDictionary.ts b/packages/cspell-lib/src/SpellingDictionary/SpellingDictionary.ts index 318a05054cc..b9edd42fa35 100644 --- a/packages/cspell-lib/src/SpellingDictionary/SpellingDictionary.ts +++ b/packages/cspell-lib/src/SpellingDictionary/SpellingDictionary.ts @@ -30,6 +30,7 @@ export interface SuggestOptions { /** * If multiple suggestions have the same edit / change "cost", then included them even if * it causes more than `numSuggestions` to be returned. + * @default false */ includeTies?: boolean; /** diff --git a/packages/cspell-lib/src/__snapshots__/validator.test.ts.snap b/packages/cspell-lib/src/__snapshots__/validator.test.ts.snap index 350286c4aee..34f92305e21 100644 --- a/packages/cspell-lib/src/__snapshots__/validator.test.ts.snap +++ b/packages/cspell-lib/src/__snapshots__/validator.test.ts.snap @@ -17,7 +17,6 @@ Array [ "witch", "with", "Witt", - "width", ], "text": "witth", }, @@ -36,27 +35,6 @@ Array [ "few's", "fe's", "feal", - "fear", - "feat", - "feck", - "feds", - "feed", - "feel", - "feer", - "fees", - "feet", - "fell", - "felt", - "feme", - "fend", - "fens", - "fern", - "fess", - "fest", - "feta", - "fete", - "feud", - "flews", ], "text": "feww", }, @@ -75,7 +53,6 @@ Array [ "mistaken", "mistaker", "mistake's", - "mistakers", ], "text": "mistaks", }, diff --git a/packages/cspell-lib/src/validator.ts b/packages/cspell-lib/src/validator.ts index 214da98b8ac..5592265c721 100644 --- a/packages/cspell-lib/src/validator.ts +++ b/packages/cspell-lib/src/validator.ts @@ -35,7 +35,7 @@ export async function validateText( .suggest(t.text, { numSuggestions: options.numSuggestions, compoundMethod: CompoundWordsMethod.NONE, - includeTies: true, + includeTies: false, ignoreCase: !(settings.caseSensitive ?? false), timeout: settings.suggestionsTimeout, numChanges: settings.suggestionNumChanges, diff --git a/packages/cspell-trie-lib/src/lib/genSuggestionsOptions.ts b/packages/cspell-trie-lib/src/lib/genSuggestionsOptions.ts index 04892a1f15e..b076a7034a2 100644 --- a/packages/cspell-trie-lib/src/lib/genSuggestionsOptions.ts +++ b/packages/cspell-trie-lib/src/lib/genSuggestionsOptions.ts @@ -31,7 +31,7 @@ export interface SuggestionOptionsStrict extends GenSuggestionOptionsStrict { * Allow ties when making suggestions. * if `true` it is possible to have more than `numSuggestions`. */ - allowTies: boolean; + includeTies: boolean; /** * Time alloted in milliseconds to generate suggestions. @@ -56,7 +56,7 @@ export const defaultGenSuggestionOptions: GenSuggestionOptionsStrict = { export const defaultSuggestionOptions: SuggestionOptionsStrict = { ...defaultGenSuggestionOptions, numSuggestions: 8, - allowTies: true, + includeTies: true, timeout: 5000, }; @@ -76,7 +76,7 @@ const keyMapOfGenSuggestionOptionsStrict: KeyMapOfGenSuggestionOptionsStrict = { const keyMapOfSuggestionOptionsStrict: KeyMapOfSuggestionOptionsStrict = { ...keyMapOfGenSuggestionOptionsStrict, - allowTies: 'allowTies', + includeTies: 'includeTies', filter: 'filter', numSuggestions: 'numSuggestions', timeout: 'timeout', diff --git a/packages/cspell-trie-lib/src/lib/suggest.ts b/packages/cspell-trie-lib/src/lib/suggest.ts index 87392f8ac08..d6c4da27c5c 100644 --- a/packages/cspell-trie-lib/src/lib/suggest.ts +++ b/packages/cspell-trie-lib/src/lib/suggest.ts @@ -23,7 +23,7 @@ export function suggest( const collector = suggestionCollector(word, { numSuggestions: opts.numSuggestions, changeLimit: opts.changeLimit, - includeTies: opts.allowTies, + includeTies: opts.includeTies, ignoreCase: opts.ignoreCase, timeout: opts.timeout, filter: opts.filter, diff --git a/packages/cspell-trie-lib/src/lib/suggestAStar.ts b/packages/cspell-trie-lib/src/lib/suggestAStar.ts index 0c8f3e706c4..a1f34ca4249 100644 --- a/packages/cspell-trie-lib/src/lib/suggestAStar.ts +++ b/packages/cspell-trie-lib/src/lib/suggestAStar.ts @@ -476,7 +476,7 @@ export function suggest(root: TrieRoot | TrieRoot[], word: string, options: Sugg const collector = suggestionCollector(word, { numSuggestions: opts.numSuggestions, changeLimit: opts.changeLimit, - includeTies: true, + includeTies: opts.includeTies, ignoreCase: opts.ignoreCase, timeout: opts.timeout, }); diff --git a/packages/cspell-trie-lib/src/lib/suggestCollector.ts b/packages/cspell-trie-lib/src/lib/suggestCollector.ts index a9339bfd3b0..b9ca21f10f1 100644 --- a/packages/cspell-trie-lib/src/lib/suggestCollector.ts +++ b/packages/cspell-trie-lib/src/lib/suggestCollector.ts @@ -129,7 +129,7 @@ export const defaultSuggestionCollectorOptions: SuggestionCollectorOptions = { numSuggestions: defaultMaxNumberSuggestions, filter: () => true, changeLimit: MAX_NUM_CHANGES, - includeTies: true, + includeTies: false, ignoreCase: true, timeout: DEFAULT_COLLECTOR_TIMEOUT, };