UNPKG

pddl-workspace

Version:
61 lines (60 loc) 2.28 kB
import { PddlSyntaxNode } from "./parser/PddlSyntaxNode"; export declare class PddlPosition { readonly line: number; readonly character: number; constructor(line: number, character: number); atOrBefore(other: PddlPosition): boolean; toString(): string; } /** * This is a local version of the vscode Range class, but because the parser is used in both the extension (client) * and the language server, where the Range class is defined separately, we need a single proprietary implementation, * which is converted to the VS Code class specific to the two distinct client/server environment. */ export declare class PddlRange { private _start; private _end; constructor(details: { start: PddlPosition; end: PddlPosition; }); static createRange(details: { startLine: number; startCharacter: number; endLine: number; endCharacter: number; }): PddlRange; static createSingleCharacterRange(details: { line: number; character: number; }): PddlRange; static createSingleLineRange(details: { line: number; /** Start character */ start: number; /** End character */ end?: number; /** Length */ length?: number; }): PddlRange; static createFullLineRange(line: number): PddlRange; static createUnknown(): PddlRange; includes(positionAtOffset: PddlPosition): boolean; get start(): PddlPosition; get end(): PddlPosition; toString(): string; } /** * Abstract document position resolve. It translates document text offsets to Position or Range. */ export declare abstract class DocumentPositionResolver { abstract resolveToPosition(offset: number): PddlPosition; abstract resolveToOffset(position: PddlPosition): number; resolveToRange(start: number, end: number): PddlRange; rangeIncludesOffset(range: PddlRange, offset: number): boolean; nodeToRange(node: PddlSyntaxNode): PddlRange; } export declare class SimpleDocumentPositionResolver extends DocumentPositionResolver { readonly documentText: string; private readonly lineLengths; constructor(documentText: string); resolveToOffset(position: PddlPosition): number; resolveToPosition(offset: number): PddlPosition; }