diff --git a/webapp/packages/plugin-sql-editor-new/src/SQLEditor/useSqlDialectAutocompletion.ts b/webapp/packages/plugin-sql-editor-new/src/SQLEditor/useSqlDialectAutocompletion.ts index fa6a038cab..3360c31732 100644 --- a/webapp/packages/plugin-sql-editor-new/src/SQLEditor/useSqlDialectAutocompletion.ts +++ b/webapp/packages/plugin-sql-editor-new/src/SQLEditor/useSqlDialectAutocompletion.ts @@ -36,16 +36,19 @@ export function useSqlDialectAutocompletion(data: ISQLEditorData): [Compartment, sanitizeProposal(displayString) === wordLowerCase || replacementString.toLocaleLowerCase() === wordLowerCase, ); const filteredProposals = proposals - .filter( - ({ replacementString, displayString }) => { - const display = sanitizeProposal(displayString); - const replacement = replacementString.toLocaleLowerCase(); - - return word === '*' || - (display !== wordLowerCase && display.startsWith(wordLowerCase)) || - (replacement !== wordLowerCase && replacement.startsWith(wordLowerCase)); + .filter(({ replacementString, displayString }) => { + if (word === '*') { + return true; } - ) + + const display = sanitizeProposal(displayString); + const replacement = replacementString.toLocaleLowerCase(); + + const displayMatch = display !== wordLowerCase && (display.startsWith(wordLowerCase) || display.includes(wordLowerCase)); + const replacementMatch = replacement !== wordLowerCase && (replacement.startsWith(wordLowerCase) || replacement.includes(wordLowerCase)); + + return displayMatch || replacementMatch; + }) .sort((a, b) => (b.score ?? 0) - (a.score ?? 0)); if (filteredProposals.length === 0 && !hasSameName && explicit) { @@ -156,4 +159,4 @@ export function useSqlDialectAutocompletion(data: ISQLEditorData): [Compartment, function sanitizeProposal(value: string): string { return value.replace(/^"|"$/g, '').toLocaleLowerCase(); -} \ No newline at end of file +}