Defined in: packages/core/src/utils/ScopeResolver.ts:98
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()
static
resolve(sql
,cursorPosition
):ScopeInfo
Defined in: packages/core/src/utils/ScopeResolver.ts:106
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()
static
resolveAt(sql
,position
):ScopeInfo
Defined in: packages/core/src/utils/ScopeResolver.ts:119
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()
static
getColumnsForTable(sql
,cursorPosition
,tableOrAlias
):AvailableColumn
[]
Defined in: packages/core/src/utils/ScopeResolver.ts:135
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