Defined in: packages/core/src/utils/ScopeResolver.ts:100
Resolves scope information at cursor positions for SQL IntelliSense
Provides comprehensive scope analysis including table availability, CTE resolution, and column visibility for intelligent code completion suggestions.
Example ​
const sql = `
WITH users AS (SELECT id, name FROM accounts)
SELECT u.name FROM users u
LEFT JOIN orders o ON u.id = o.user_id
WHERE u.|
`;
const scope = ScopeResolver.resolveAt(sql, { line: 4, column: 12 });
console.log(scope.availableTables); // [{ name: 'users', alias: 'u' }, { name: 'orders', alias: 'o' }]
console.log(scope.availableCTEs); // [{ name: 'users', columns: ['id', 'name'] }]Constructors ​
Constructor ​
new ScopeResolver():
ScopeResolver
Returns ​
ScopeResolver
Methods ​
resolve() ​
staticresolve(sql,cursorPosition):ScopeInfo
Defined in: packages/core/src/utils/ScopeResolver.ts:108
Resolve scope information at the specified cursor position
Parameters ​
sql ​
string
SQL text to analyze
cursorPosition ​
number
Character position of cursor (0-based)
Returns ​
Complete scope information
resolveAt() ​
staticresolveAt(sql,position):ScopeInfo
Defined in: packages/core/src/utils/ScopeResolver.ts:121
Resolve scope information at line/column position
Parameters ​
sql ​
string
SQL text to analyze
position ​
Line and column position (1-based)
line ​
number
column ​
number
Returns ​
Complete scope information
getColumnsForTable() ​
staticgetColumnsForTable(sql,cursorPosition,tableOrAlias):AvailableColumn[]
Defined in: packages/core/src/utils/ScopeResolver.ts:137
Get available columns for a specific table or alias
Parameters ​
sql ​
string
SQL text containing the query
cursorPosition ​
number
Cursor position for scope resolution
tableOrAlias ​
string
Table name or alias to get columns for
Returns ​
Array of available columns for the specified table