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.