Skip to content
# Class: PositionAwareParser

Defined in: packages/core/src/utils/PositionAwareParser.ts:57

Position-aware SQL parser with error recovery for IntelliSense

Extends the standard parser to handle incomplete SQL and provide context for IntelliSense scenarios where users are actively typing.

Example

typescript
// Parse incomplete SQL with error recovery
const sql = "SELECT user.name FROM users user WHERE user.";
const result = PositionAwareParser.parseToPosition(sql, sql.length, {
  errorRecovery: true,
  insertMissingTokens: true
});

console.log(result.tokenBeforeCursor?.value); // "."
console.log(result.success); // true (with recovery)

Constructors

Constructor

new PositionAwareParser(): PositionAwareParser

Returns

PositionAwareParser

Methods

parseToPosition()

static parseToPosition(sql, cursorPosition, options): PositionParseResult

Defined in: packages/core/src/utils/PositionAwareParser.ts:66

Parse SQL text up to a specific position with error recovery

Parameters

sql

string

SQL text to parse

cursorPosition

Character position to parse up to (0-based) or line/column

number | LineColumn

options

ParseToPositionOptions = {}

Parsing options including error recovery

Returns

PositionParseResult

Parse result with position-specific information


parseCurrentQuery()

static parseCurrentQuery(sql, cursorPosition, options): PositionParseResult

Defined in: packages/core/src/utils/PositionAwareParser.ts:113

Parse current query from multi-query text at cursor position

Parameters

sql

string

Complete SQL text (may contain multiple statements)

cursorPosition

Cursor position

number | LineColumn

options

ParseToPositionOptions = {}

Parsing options

Returns

PositionParseResult

Parse result for the current query only

Released under the MIT License.