From 8dd573934c84794660400775111d6b7a618939da Mon Sep 17 00:00:00 2001 From: Dmitry Selivestrov Date: Tue, 16 Dec 2025 10:32:59 +0300 Subject: [PATCH] fix(trino): add selectItem rule to candidates for column suggestions --- src/parser/trino/index.ts | 1 + .../suggestion/fixtures/syntaxSuggestion.sql | 2 ++ .../trino/suggestion/syntaxSuggestion.test.ts | 19 +++++++++++++++++++ 3 files changed, 22 insertions(+) diff --git a/src/parser/trino/index.ts b/src/parser/trino/index.ts index 1c86ca8d..758b33c1 100644 --- a/src/parser/trino/index.ts +++ b/src/parser/trino/index.ts @@ -136,6 +136,7 @@ export class TrinoSQL extends BasicSQL { ).toEqual([['age'], ['age']]); }); + test('Select alias column', () => { + const pos: CaretPosition = { + lineNumber: 65, + column: 10, + }; + const syntaxes = trino.getSuggestionAtCaretPosition( + commentOtherLine(syntaxSql, pos.lineNumber), + pos + )?.syntax; + + const wordRangesArr = syntaxes?.map((syn) => syn.wordRanges); + + expect(wordRangesArr).not.toBeUndefined(); + expect(wordRangesArr.length).toBe(1); + expect( + wordRangesArr.map((wordRanges) => wordRanges.map((wordRange) => wordRange.text)) + ).toEqual([['a', '.']]); + }); + test('Syntax suggestion after a comment', () => { const sql = `-- the comment\nSELECT * FROM db.`; const pos: CaretPosition = {